Golgi Posted July 28, 2011 Report Share Posted July 28, 2011 Делал валидацию инпута. Нужно допиться, чтобы только латиница + цифры проходили, а кириллица блокировалась!login.match(/[a-z0-9]/) вот такое дело и кириллицу спокойно пропускает, как быть? Quote Link to comment Share on other sites More sharing options...
0 SelenIT Posted July 28, 2011 Report Share Posted July 28, 2011 А если так: /^[a-z0-9]+$/ ? 1 Quote Link to comment Share on other sites More sharing options...
0 Golgi Posted July 29, 2011 Author Report Share Posted July 29, 2011 (edited) Огромное спасибои если вопросик не убрать, то вот такая фигня syntax error[Прерывать на этой ошибке] if (!login.match(/^[a-z0-9]+$/?)) { Edited July 29, 2011 by Golgi Quote Link to comment Share on other sites More sharing options...
0 Nekromancer Posted July 29, 2011 Report Share Posted July 29, 2011 Знак вопроса тут в предложении, а не в регулярке Вообще всё делается проще - if(/[а-яё]/i.test(string)) alert('error') Quote Link to comment Share on other sites More sharing options...
0 Golgi Posted July 29, 2011 Author Report Share Posted July 29, 2011 не силен в регулярках, спасибо за советы Quote Link to comment Share on other sites More sharing options...
0 SelenIT Posted July 29, 2011 Report Share Posted July 29, 2011 Просто проверка /[a-z0-9]/ означает "содержит хоть один символ из указанного диапазона", остальное может быть чем угодно. Чтобы убедиться, что в строке только такие символы, нужна проверка от начала (^) до конца ($) строки. Или, действительно, по совету Nekromancerа, сделать обратную проверку — что в строке нет ни одного символа не из нужного диапазона. Т.е. в случае "если есть что-то, кроме латиницы и цифр, это ошибка", делаем проверкуif(/[^a-z0-9]/i.test(string)) alert('error')(в квадратных скобках у "^" другой смысл — "всё, кроме перечисленного далее"). 1 Quote Link to comment Share on other sites More sharing options...
0 Golgi Posted July 29, 2011 Author Report Share Posted July 29, 2011 спасибо! Quote Link to comment Share on other sites More sharing options...
0 Nekromancer Posted July 29, 2011 Report Share Posted July 29, 2011 В общем если так брать, то мой совет не совсем правильный, то есть если нужно избежать ввода именно кириллицы то да, можно воспользоваться им. Однако, например, китайские символы в этом случае будут вводится спокойно. Для этого случая стоит воспользоваться последним примером который вам привели. Quote Link to comment Share on other sites More sharing options...
Question
Golgi
Делал валидацию инпута. Нужно допиться, чтобы только латиница + цифры проходили, а кириллица блокировалась
!login.match(/[a-z0-9]/) вот такое дело и кириллицу спокойно пропускает, как быть?
Link to comment
Share on other sites
7 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.