2012-04-16 3 views
3

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

function checkVal() { 
var input = document.getElementById("input").value; 
if (input.match(/[a-zA-Z0-9]+$/) == null) { 
    alert("error"); 
    } 
} 

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

Было бы проще, если бы я написал функцию, чтобы исключить символ «подчеркивания» при вводе этого поля ввода?

РЕДАКТИРОВАТЬ: Просто, чтобы сделать это немного яснее, я хочу только принимать буквы, цифры и пробелы.

+0

@sch жаль, что я должен были яснее, только хотят принимать буквы, цифры и пространства, я буду обновлять вопрос, чтобы отразить это! – zik

+0

Лично я использовал '/.../. Test (value)' вместо 'value.match (/.../)'. Если у вас есть вопрос, я должен проверить или попытаться заблокировать ввод, а затем подтвердить. Ввод только одного способа ввода значений поля формы. По крайней мере, с подтверждением вы можете сообщить/напомнить им, что подчеркивания недопустимы (и _why_). –

ответ

6

Не забудьте включить начало строки, ^ (и пространство):

/^[a-zA-Z0-9 ]+$/ 
+0

спасибо, почти забыл об этом – zik

0

Это не выглядит, как ваша проверка на место, и вы только проверка строки заканчивается цифрами или характеристиками.

Попробуйте это:

function checkVal() { 
var input = document.getElementById("input").value; 
if (input.match(/^[ a-zA-Z0-9]+$/) == null) { 
    alert("error"); 
    } 
} 
2

попробовать использовать это регулярное выражение:

/^[a-zA-Z0-9 ]+$/ 

двутавровых для incasesensitive:

EDIT:

/^[a-z0-9 ]+$/i 
+2

, если вы используете модификатор 'i','/^ [a-z0-9] + $/i' достаточно – KooiInc

+0

ahh справа, забыл удалить A-Z – WolvDev

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