Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.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限制用户名字段中的特殊字符_Javascript - Fatal编程技术网

Javascript限制用户名字段中的特殊字符

Javascript限制用户名字段中的特殊字符,javascript,Javascript,我在互联网上发现了一个预先制作的表单,我正在将它集成到我的网站中。但是,此注册表允许使用任何字符。我试图将其限制为A-Z、A-Z、0-9、下划线和空格 $(function(){ var form = $('form'); var submit = $('#submit'); var alert = $('.alert'); $.validator.addMethod("regex", function(value, element, regexp) { var check

我在互联网上发现了一个预先制作的表单,我正在将它集成到我的网站中。但是,此注册表允许使用任何字符。我试图将其限制为A-Z、A-Z、0-9、下划线和空格

$(function(){

var form    = $('form');
var submit  = $('#submit');
var alert   = $('.alert');



$.validator.addMethod("regex", function(value, element, regexp) {
var check = false;
var re = new RegExp(regexp);
return this.optional(element) || re.test(value);
},
"No special Characters allowed here. Use only upper and lowercase letters (A through Z; a through z), numbers and punctuation marks (. , : ; ? ' ' \" - = ~ ! @ # $ % ^ & * ( ) _ + / < > { } )"
);



// validate form
form.validate({
    // validation rules
    rules: {
        // name field (required , minimum length 3)
        name: {
            required: true,
            minlength: 3,
            maxlength: 25
        },
        // username field (required , minimum length 3, max 8)
        username: {
            required: true,
            minlength: 3,
            maxlength: 8,
            regex: /^[a-zA-Z0-9_]+$/
        },
        // password field (required , minimum length 6, max 16)
        password: {
            required: true,
            minlength: 6,
            maxlength: 16
        },
        // password2 field must be equal to password field
        password2: {
            equalTo: '#password'
        },
        // email field only required
        email: 'required'
    },
    // submit ajax request
    submitHandler: ajaxSubmit
});

// jQuery ajax submit function
function ajaxSubmit() {
    $.ajax({
        url: 'ajax.php',
        type: 'POST',
        // form serialize data
        data: form.serialize(),
        beforeSend: function(){
            alert.fadeOut();
            submit.val('Sending...').attr('disabled', 'disabled');
        },
        success: function(data){
            console.log(data);
            if ( data.status === 'success' ) {
                // if responce status == success redirect to success page
                $(location).attr('href','success.html');
            } else {
                // not success! show error messages
                alert.html(data.status).fadeIn();
                submit.val('Sign Up').removeAttr('disabled');
            }
        },
        error: function(e){
            console.log(e);
            // show error message
            alert.html('Sending request fail').fadeIn();
            submit.val('Sign Up').removeAttr('disabled');
        }
    });
};
});
这是我试图编辑的javascript代码。我只是不确定要为用户名添加什么来限制字符。我曾尝试搜索谷歌,但我找到的所有答案都提供了一个功能,我不确定如何添加到这个功能中。

请检查此链接和下面的代码

$.validator.addMethod(
"regex",
function(value, element, regexp) {
    var check = false;
    var re = new RegExp(regexp);
    return this.optional(element) || re.test(value);
},
"No special Characters allowed here. Use only upper and lowercase letters (A through Z; a through z), numbers and punctuation marks (. , : ; ? ' ' \" - = ~ ! @ # $ % ^ & * ( ) _ + / < > { } )"
);


username:{
required: true,
        minlength: 3,
        maxlength: 8,
         regex:/^[a-zA-Z0-9_]+$/
}

看看正则表达式regex,它们将执行您想要的操作:看起来您可能正在使用它。是吗?对不起,我不熟悉JS、Jquery、AJax等。但是,是的,我认为这是Jquery验证。@user3764729:请查看页面中包含的脚本以确定。但看起来确实是这样。数字也被允许:替换regex://^[a-zA-Z0-9\]+$/现在这与我的答案类似了;我是否可以只将regex://^[a-zA-Z0-9\]+$/添加到用户名中,还是需要使用$.validator.addMethod?我将在第一篇文章中添加整个.js脚本。好的,我将该方法添加到了脚本的顶部。我应该把它放在用户名验证部分上面吗?