Проверка ввода формы с помощью регулярного выражения - PullRequest
0 голосов
/ 27 ноября 2011

Привет. У меня есть форма, которую я использую для страницы карты Google, и я хочу ограничить поле ввода, чтобы разрешить только a-z, A-Z, 0-9, пробелы и дефисы. Я использовал:

var postCode = $('#form').val();
Validate = /[a-z0-9 A-Z\-]$/.test(postCode);

if (!Validate) {
    $('#results').html("Please enter alpha numeric (a-z 0-9) characters");
    return;
}

но это не работает. Может ли кто-нибудь помочь мне это исправить?

Ответы [ 2 ]

2 голосов
/ 27 ноября 2011

Я считаю, что вам нужно /^[a-z0-9 A-Z\-]*$/.Отметьте ^ в начале строки - вместе с $ в конце она гарантирует, что вы проверяете всю строку, а не только ее суффикс.

Если вы не хотите принимать пустую строку, вы можете заменить * (ноль или более квантификатора) на + (один или несколько) или даже указать точный диапазон для длины следующим образом: /^[a-z0-9 A-Z\-]{3,10}$/.

0 голосов
/ 27 ноября 2011
^[0-9a-zA-Z]+([ -][0-9a-zA-Z]+)?$

Совпадения:

90210

abcDEF

abc DEF

abc-DEF

a1b-2c3

Но не совпадает, если присутствует начальный или конечный пробел / дефис.

На основе: http://regexpal.com/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...