Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery插件检查用户名是否有效_Javascript_Jquery_Jquery Validate - Fatal编程技术网

Javascript 使用jQuery插件检查用户名是否有效

Javascript 使用jQuery插件检查用户名是否有效,javascript,jquery,jquery-validate,Javascript,Jquery,Jquery Validate,我正在使用jQuery验证插件来验证表单。我有一个需要验证的用户名字段。到目前为止,这就是我所拥有的: $(".personal_form").validate({ errorElement: 'div', rules: { username: { required: true, maxlength: 15, remote: {

我正在使用jQuery验证插件来验证表单。我有一个需要验证的用户名字段。到目前为止,这就是我所拥有的:

$(".personal_form").validate({
        errorElement: 'div',
        rules: {
            username: {
                required: true,
                maxlength: 15,
                remote: {
                    url: "usernameChecker.php",
                        type: "post",
                        data: {
                          username: function() {
                            return $( "#username" ).val();
                            },
                        },
                    },
            },

        },

        messages: {

            username: {
                required: "Please enter a username",
                maxlength: "Your username should not exceed 15 characters.",
                remote: "This username is taken."
            },

        },

        });

我想这样做,如果有人输入一个无效的用户名,它将显示一个错误。例如,如果有人输入特殊字符:!@$%^&*.+=~`-它将显示一个错误。有效用户名是包含字母或数字的用户名。如何执行此操作?

创建自定义验证规则,根据您的规则检查用户名,如:

jQuery.validator.addMethod("alphanumeric", function(value, element) {
        return this.optional(element) || /^[a-zA-Z0-9 ]+$/.test(value);
    });

并将其与您的验证一起添加

创建自定义验证规则,根据您的规则检查用户名,如:

jQuery.validator.addMethod("alphanumeric", function(value, element) {
        return this.optional(element) || /^[a-zA-Z0-9 ]+$/.test(value);
    });
并将其与您的验证一起添加

您可以使用RegExp\w+| d\+设置元素属性的模式,以匹配单词或数字字符、元素、css:focus、:invalid、:after

用户名:焦点:无效+标签[for=username]:之后{ 内容:输入必须只包含字母和数字; 颜色:红色; } 您可以使用RegExp\w+|d\+在元素处设置属性模式,以匹配单词或数字字符、元素、css:focus、:invalid、:after

用户名:焦点:无效+标签[for=username]:之后{ 内容:输入必须只包含字母和数字; 颜色:红色; } 使用jQuery.validator.addMethod名称、方法[、消息]对表单字段进行自定义验证

使用jQuery.validator.addMethod名称、方法[、消息]对表单字段进行自定义验证

将此添加到:

$.validator.addMethod(
    "regex",
    function(value, element, regexp) {
        var check = false;
        return this.optional(element) || regexp.test(value);
    },
    "Please provide a valid username."
);

$(".personal_form").validate({
    errorElement: 'div',
    rules: {
        username: {
            required: true,
            maxlength: 15,
            regex: /^[a-zA-Z0-9 ]+$/,
            remote: {
                url: "usernameChecker.php",
                    type: "post",
                    data: {
                      username: function() {
                        return $( "#username" ).val();
                        },
                    },
                },
        },

    },

    messages: {

        username: {
            required: "Please enter a username",
            maxlength: "Your username should not exceed 15 characters.",
            remote: "This username is taken."
        },

    },

});
将此添加到:

$.validator.addMethod(
    "regex",
    function(value, element, regexp) {
        var check = false;
        return this.optional(element) || regexp.test(value);
    },
    "Please provide a valid username."
);

$(".personal_form").validate({
    errorElement: 'div',
    rules: {
        username: {
            required: true,
            maxlength: 15,
            regex: /^[a-zA-Z0-9 ]+$/,
            remote: {
                url: "usernameChecker.php",
                    type: "post",
                    data: {
                      username: function() {
                        return $( "#username" ).val();
                        },
                    },
                },
        },

    },

    messages: {

        username: {
            required: "Please enter a username",
            maxlength: "Your username should not exceed 15 characters.",
            remote: "This username is taken."
        },

    },

});

很好!如果下划线没问题呢?我如何使下划线、字母和数字有效?试试这个:更改[a-zA-Z0-9]->[a-zA-Z0-9]-它将允许空间和分数不足。效果很好!如果下划线没问题呢?我如何才能使下划线、字母和数字有效?尝试以下方法:更改[a-zA-Z0-9]->[a-zA-Z0-9]。它将允许空间和分数不足。