2013-04-12 4 views
0

У меня есть функция javascript, которая соответствует тексту, введенному в Ajax Combobox, против регулярного выражения. Но похоже, что «тест» работает не так, как ожидалось. Ниже мой код, и я не понимаю, где я делаю неправильно.Test Int значение в Javascript (регулярное выражение)

<script language="javascript" type="text/javascript"> 
    function cmbExample_OnBlur() { 
     var regex = "^[0-9]{1,10}$"; 
     var sel = document.getElementById("MainTextBox").value; 
     alert(sel); 
     if (regex.test(sel)) { 
      alert("success"); 
     } 
     else { 
      alert("error"); 
     } 

    } 

Я попытался преобразовать Сель в строку, то и он не работает.

+0

Каков вклад, который вы даете? –

ответ

3

Попробуйте использовать реальное регулярное выражение, а не строку.

var regex = /^[0-9]{1,10}$/; 
+0

OP: .. и обратите внимание, что то, что говорит регулярное выражение, - «любая цифра между 0 и 9, повторяется от 1 до 10 раз». Вы, скорее всего, знаете это, но некоторые люди путают '{' и '}' оператор с диапазоном числа. – h2ooooooo

+0

Большое вам спасибо за помощь, которую она сейчас работает. –

+0

Чтобы избежать заголовка 0 '/^(?! 0) \ d {1,10} $ /' – Stphane

0

Вы должны получить значение из выпадающего списка, используя что-то вроде:

document.getElementByID("SelectBoxName").options[document.getElementByID("SelectBoxName").selectedIndex].value 

Это немного противно, но это работает. Вместо этого вы можете использовать текст, чтобы получить текст, а не значение (которое, как я думаю, вам действительно нужно.)

Кроме того, то, что другие ребята говорят о выражении regex, верно.

Cheers.

+0

Я использовал другой способ получить требуемое значение из выпадающего списка, и это также отлично работает. Благодаря! –

2

Это не регулярное выражение, это строка. Регулярное выражение буквальным будет:

var regex = /^[0-9]{1,10}$/ 

Или вы могли бы использовать:

var regex = new RegExp("^[0-9]{1,10}$"); 

Кстати, если бы вы смотрели в консоли (F12 на большинстве систем), сообщение об ошибке должно быть разъяснено, что.

+0

Большое вам спасибо, и теперь он работает. –

+0

Ты очень рад, я рад, что помог! знак равно –

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