jquery буквенно-цифровая проверка

$('#reg_submit').click(function () {
  var reg_password1 = $('#reg_password1').val();
  letters = /([a-z])([0-9])/; 
  var errorMessage =  '';

  if ( ! reg_password1.value.match(letters) )   
  {   
    errorMessage = "Password must be alphanumeric";
    $('#msg_regpass1').html(errorMessage).show();
  }
  else {
    $('#msg_regpass1').html('').hide();
  }
});

Я использовал приведенный выше код jquery для применения буквенно-цифровой проверки к моей странице регистрации. Но я получаю ошибку javascript, связанную с match (), что-то вроде совпадения не определено. может ли кто-нибудь предложить решение вышеуказанной проблемы или предоставить какой-либо другой код для получения буквенно-цифровой проверки для вышеуказанного кода. этот шаблон букв также не работает должным образом для буквенно-цифровой проверки. Может ли кто-нибудь предложить другой шаблон

заранее спасибо


person user1334095    schedule 18.07.2012    source источник
comment
8 вопросов до сих пор и ни одного принятого ответа? Пожалуйста, примите ответ, если это поможет.   -  person Asif    schedule 18.07.2012
comment
@user1334095 user1334095 вы должны принять ответ!!   -  person silentw    schedule 24.01.2014


Ответы (4)


Этот работает для меня:

var reg_password1 = 'test123#';
var letters = /^[a-zA-Z0-9]+$/;

var result = letters.test(reg_password1);

console.log(result);​

ДЕМО

person silentw    schedule 18.07.2012

Поскольку все, что вы просили, это предложение, вот начало: регулярное выражение, которое вам, вероятно, нужно, это /^[a-z\d]+$/i. Ваше существующее регулярное выражение соответствует только тогда, когда ваше регулярное выражение содержит одну строчную букву или цифру в любом месте строки; предложение говорит, что каждый символ должен быть.

В качестве альтернативы вы можете использовать небольшое изменение вашего регулярного выражения: /[^a-z\d]/i, которое соответствует одному небуквенно-цифровому значению. Затем измените свою логику, чтобы сказать: если у меня есть совпадение здесь, то строка недействительна.

Что касается неопределенности match, прочтите методы JavaScript, связанные с регулярными выражениями. Некоторые принадлежат строкам, некоторые относятся к классу Regexp.

person Ray Toal    schedule 18.07.2012

Использовать

reg_password1.match(letters)
person matt3141    schedule 18.07.2012

ваш метод jQuery .val(); вернет вам значение, поэтому измените эту строку

if(!reg_password1.value.match(letters))   

to

if(!reg_password1.match(letters))   

Я предполагаю, что вы тоже хотите немного другое регулярное выражение.

Если все символы должны быть az или 0-9 (без учета регистра), попробуйте следующее:

/^[a-z0-9]*$/i

Тем не менее, все это говорит о том, что если это действительно поле пароля, вы должны позволить пользователю выбирать такие символы, как $,#,!,@,%_,-,(,[,),] и т. д., чтобы они могли выбрать Надежный пароль. ;-)

person scunliffe    schedule 18.07.2012
comment
этот шаблон букв не работает. можешь предложить другой - person user1334095; 18.07.2012
comment
что вы хотите совместить? например Каковы правила? Должен содержать xxx, не должен содержать yyy и т. д. - person scunliffe; 18.07.2012