freecoder-ru
@freecoder-ru

Как правильно использовать регулярку в моём случае?

Имею данный код . Возникает проблема при вводе nickname .. 
При вводе fffff данный ник пропускается (разрешается) немогу понять почему , тоже самое при вводе 11111 .. 
Использую регулярку которая вроде должна запретить данный ввод и выдать сообшение об ошибке ..  
В чём может быть проблема ? 
В nickname должен быть только тот формат который диктует регулярка .. 
(function(){

    $.validator.addMethod("NICKNAME", function (value) {
        var reg_ex = /^[a-z0-9_-]{5,12}$/;
        return reg_ex.test(value);
    }, "Wrong nick name format , matched nicknames 1. mkyong34 2. mkyong_2002 3. mkyong-2002 4. mk3-4_yong! ");

    $.validator.addMethod("EMAIL", function (value) {
        var reg_ex = /^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$/;
        return reg_ex.test(value);
    }, "Wrong email format, Matches: joe@aol.com | ssmith@aspalliance.com | a@b.cc !");

    $.validator.addMethod("PASSWORD", function (value) {
        var reg_ex = /((?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%]).{6,20})/;
        return reg_ex.test(value);
    }, "Wrong password format, matched password 1. mkyong1A@ 2. mkYOn12$! ");


    $("#login").validate({
        rules: {
            nick_name: {
                required:true,
                rangelength:[5, 12],
                NICKNAME:true
            },
            email: {
                required: true,
                EMAIL:true
            },
            password: {
                required:true,
                rangelength:[6,20],
                PASSWORD:true
            }
        },
        messages : {
            nick_name: {
                required:"This field is required to be filled!",
                rangelength:"The length of nick name must be 5-12 characters!",
            },
            email :{
                required:"This field is required to be filled!",
            },
            password : {
                required:"This field is required to be filled!",
                rangelength:"The length of password must be 6-20 digits"
            }
        }
    });
})();
  • Вопрос задан
  • 179 просмотров
Решения вопроса 1
Stalker_RED
@Stalker_RED
С чего бы ей запрещать? Регулярка /^[a-z0-9_-]{5,12}$/ соответствует любой последовательности состоящей из букв от a до z, цифр от 0 до 9, знаков _ и -. Длина последовательности - от 5 до 12.
И fffff и 11111 - вполне подходят же. Даже ----- подойдет.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы