2014-02-07 2 views
0

В приведенном ниже коде у меня есть текстовое поле, в котором, когда я ввожу числовое значение, оно должно предупреждать, что разрешены только алфавиты. В результате я получаю регулярное выражение и проливаю его и сохраняю в массиве, а для цикла - это и проверьте регулярное выражение, которое я вхожу в свой текстовый файл. Помогите решить проблему.Проблема в регулярном выражении

<input type="text" id="check" onblur="validate()" /> 

<script type="text/javascript"> 
    function validate() { 

     var hiddenValue = new RegExp("[A-Z]~~[a-z]"); 
     // var val = document.getElementById("check").value; 
     var mySplitResult = new Array(); 
     mySplitResult = hiddenValue.split("~~"); 
     for (i = 0; i < mySplitResult.length; i++) { 
      document.write("<br /> Array[" + i + " ]= " + mySplitResult[i]); 

      if (mySplitResult.test(document.getElementById("check").value)) { 
       alert('check'); 
       return false; 
      } 
    } 


} 
</script> 
+0

Вы не можете использовать 'сплит()' на 'RegExp', это только для строк. Я не уверен, что вы пытаетесь сделать там. – Barmar

+0

да, вы могли бы просто написать это как mySplitResult = [новый RegExp («[A-Z]»), новый RegExp («[a-z]»)]; – clancer

+0

как проверить, является ли строка – user3278874

ответ

0

Если вы хотите проверить, что вход все буквы:

if (!document.getElementById("check").value.test(/^[a-z]+$/i)) { 
    alert ("Only letters are permitted"); 
    return false; 
} 
0

Смотрите эту скрипку. Будет проверять, что в текстовом поле будут отображаться только буквы.

http://jsfiddle.net/2EDYV/2/

function validate() { 
    var result = /^([a-zA-Z]+)$/.test(document.getElementById("check").value); 
    if (!result) { 
     alert('numeric value found'); 
    } 
} 
Смежные вопросы