2014-04-03 2 views
0

В настоящее время я использую код JavaScript для проверки текстового поля, когда пользователь вводит буквы a-z. Скрипт показывает галочку, если это действительно, и крест, если его нет. Теперь я пытаюсь добавить в код, чтобы сказать, что буквы соответствуют минимальной длине не менее 4 символов, и если выполняются минимальные символы, покажите галочку, и если текст находится под минимальной длиной символа, укажите крест.Добавить проверку минимальной длины JavaScript в текстовое поле?

Как настроить мой скрипт для проверки минимальной длины введенных символов? Также может ли кто-нибудь показать мне, как я могу позволить '-' разрешаться в моей проверке?

сценарий:

<script> 
function validateCname(CnameField){ 
     var reg = /^[A-Za-z]+$/; 

     if (reg.test(CnameField.value) == false) 
     { 
      document.getElementById("emailTick").style.display='none'; // Hide tick if validation Fails 
      document.getElementById("emailCross").style.display='block'; 
      return false; 
     } 
     if (reg.test(CnameField.value) == true) 
     document.getElementById("emailCross").style.display='none'; 
     document.getElementById("emailTick").style.display='block'; 
     return true; 
} 
</script> 

пытался:

<script> 
function validateCname(CnameField){ 
     var reg = /^[A-Za-z]+$/; 
     var len = {min:4,max:60}; 


     if (reg.test(CnameField.value) == false) 
     if(input.value.length>!=len.min) return flase; 
     { 
      document.getElementById("emailTick").style.display='none'; // Hide tick if validation Fails 
      document.getElementById("emailCross").style.display='block'; 
      return false; 
     } 
     if (reg.test(CnameField.value) == true) 
     document.getElementById("emailCross").style.display='none'; 
     document.getElementById("emailTick").style.display='block'; 
     return true; 
} 
</script> 

ответ

1

Попробуйте

<script> 
function validateCname(CnameField){ 
     var reg = /^[A-Za-z]+$/; 
     var len = {min:4,max:60}; 


     if (reg.test(CnameField.value) == false) { 
      if(input.value.length<len.min) 
      { 
       document.getElementById("emailTick").style.display='none'; // Hide tick if validation Fails 
       document.getElementById("emailCross").style.display='block'; 
       return false; 
      } 
      return false; 
     } 
     if (reg.test(CnameField.value) == true) 
     document.getElementById("emailCross").style.display='none'; 
     document.getElementById("emailTick").style.display='block'; 
     return true; 
} 
</script> 
-1
function validateCname(value1) 
{ 
var k = value1; 
if(k.length<4){ 

//Your code if length is less than 4 

}else{ 

//Your code if length is more than 4 

} 
} 
2

Почти там, но у вас есть несколько вопросов синтаксиса, так что я создана пример тестового скрипта для вас:

function validateValue(value) { 
    var reg = /^[A-Za-z]+$/g; 
    var len = {min:4,max:60}; 

    if (!reg.test(value)) { 
    console.log('didn\'t match regex'); 
    return false; 
    } 

    if (value.length < len.min || value.length > len.max) { 
    console.log('incorrect length: ' + value); 
    return false; 
    } 

    console.log('correct length: ' + value); 
    return true; 
} 

validateValue('teststring'); 

Обратите внимание, как я установил регулярное выражение, удалив == false? Это не нужно, потому что возвращается либо false, либо массив. Истинный тест вернет true, если возвращается ничего, кроме нулевого или ложного.

Смежные вопросы