2012-01-21 2 views
2

Может ли любое тело сказать мне, что такое проверка Regex для использования моего текстового поля, должны брать только буквы и цифры?jquery Проверка REGEX для букв и цифр onlyu

var BLIDRegExpression = /^[a-zA-Z0-9]*$/; 

    if (BLIDRegExpression.test(BLIDIdentier)) { 
     alert('The BLID Identifier may only consist of letters or numbers and must be exactly five characters long.'); 
     return false; 
    } 

Я использую этот, но не работает. может кто-нибудь сказать мне.

Thanks

+0

Какая ценность для BLIDIdentier? – marcio

+0

, вы можете использовать/^ [a-zA-Z0-9] {5} $ /, чтобы проверить, что строка также имеет длину не менее 5 символов (чтобы проверить вторую половину сообщения об ошибке) – Dexter

ответ

5

.test возвращает истину, если строка соответствует. Я думаю, вы хотите:

var BLIDRegExpression = /^[a-zA-Z0-9]{5}$/; // {5} adds the requirement that the string be 5 chars long 

if (!BLIDRegExpression.test(BLIDIdentier)) { 
    alert('The BLID Identifier may only consist of letters or numbers and must be exactly five characters long.'); 
    return false; 
} 
+0

спасибо. но когда я вхожу, как этот a0012 или A0001, все еще получаю ошибку проверки. это не могло произойти правильно? – user957178

+1

Я просто попробовал как в консоли Chrome. Какой браузер вы используете? Попробуйте [этот jsfiddle] (http://jsfiddle.net/dHsPN/). –

+0

Я в IE7..thanks – user957178

1

Обратить свою логику. .test() возвращает true, когда он совпадает, false, когда он не совпадает. Вы хотите выполнить свой оператор if, когда он НЕ соответствует. Если вы хотите, чтобы это было необходимо иметь длину ровно 5 символов, то вы можете использовать {5} вместо * в своем регулярном выражении, как это:

var BLIDRegExpression = /^[a-zA-Z0-9]{5}$/; 

if (!BLIDRegExpression.test(BLIDIdentier)) { 
    alert('The BLID Identifier may only consist of letters or numbers and must be exactly five characters long.'); 
    return false; 
} 
Смежные вопросы