Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.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_Jquery - Fatal编程技术网

javascript用户输入中的正则表达式

javascript用户输入中的正则表达式,javascript,jquery,Javascript,Jquery,我对javascript中的正则表达式有问题。我试图做的是一个表单注册,我必须在其中验证名字,所以我决定使用javascript验证(你能告诉我使用js还是使用ajax php reg验证更好吗?)。所以我通过查阅一些教程和阅读谷歌的文章来编写代码,但我仍然有一个问题。它不起作用了!它使用jquery在blur事件上运行,所以我需要您的帮助。 我试图检查的模式是用户输入中的特殊字符 /[\'^$%&*()}{@#~?>,{124;={+]+$/g 这是我的剧本:

我对javascript中的正则表达式有问题。我试图做的是一个表单注册,我必须在其中验证名字,所以我决定使用javascript验证(你能告诉我使用js还是使用ajax php reg验证更好吗?)。所以我通过查阅一些教程和阅读谷歌的文章来编写代码,但我仍然有一个问题。它不起作用了!它使用jquery在blur事件上运行,所以我需要您的帮助。 我试图检查的模式是用户输入中的特殊字符 /[\'^$%&*()}{@#~?>,{124;={+]+$/g

这是我的剧本:

                $(document).on('blur','.first_name_input', function() {

                    var firstNameInput = $(".first_name_input").val();

                    if (firstNameInput !== '') {

                        //var exp = /[a-zA-Z0-9-]+$/g;
                        var exp = /[\'^£$%&*()}{@#~?><>,|=_+]+$/g;
                        //if (firstNameInput.test(/^[\'^£$%&*()}{@#~?><>,|=_+-]+$/)) {
                        //if (firstNameInput.match(/[a-zA-Z0-9]*/g)) {
                        if (firstNameInput.match(exp)) {
                            var firstnameValidity = "<div class='name_not_valid_div'>&times; Not allowed characters present!</div>";
                            $('body').prepend(firstnameValidity);
                            $(".name_not_valid_div").hide().fadeIn('slow');

                            if (!errorArray.includes("firstName")){
                                errorArray.push("firstName");
                            }
                        } else {
                            $(".name_not_valid_div").hide();

                            if (errorArray.includes("firstName")){
                                for(var i = errorArray.length - 1; i >= 0; i--) {
                                    if(errorArray[i] === "firstName") {
                                       errorArray.splice(i, 1);
                                    }
                                }
                            }
                        }
                    }

                });
$(document).on('blur','first\u name\u input',function(){
var firstNameInput=$(“.first\u name\u input”).val();
如果(firstNameInput!=''){
//var exp=/[a-zA-Z0-9-]+$/g;
var exp=/[\'^$%&*()}{@#~?>,|=.+]+$/g;
//if(firstNameInput.test(/^[\'^.$%&*()}{@#~?>,|=+-]+$/){
//如果(firstNameInput.match(/[a-zA-Z0-9]*/g)){
if(firstNameInput.match(exp)){
var firstnamevality=“×;不允许出现字符!”;
$('body').prepend(firstnameValidity);
$(“.name\u无效\u div”).hide().fadeIn('slow');
如果(!errorArray.includes(“firstName”)){
errorArray.push(“名字”);
}
}否则{
$(“.name\u无效\u div”).hide();
if(errorArray.includes(“firstName”)){
对于(var i=errorArray.length-1;i>=0;i--){
if(errorArray[i]=“firstName”){
错误阵列拼接(i,1);
}
}
}
}
}
});
我的html代码是:

<tr>
                <td class="label">First Name: </td>
                <td class="input"><input type="text" name="first_name" class="input_bar first_name_input" size="30" Placeholder="First Name" /><br/></td>
            </tr>

名字:

1st:使用
.trim()
避免左/右空格,甚至避免没有任何字符的空格
$(“.first\u name\u input”).val().trim();

第二:用于验证

// if the string has special characters
function string_has_spec_char(str){
    var reg = /[~`!#@$%\^&*+=\-\[\]\\';,_./{}\(\)\|\\":<>\?]/g;
    return reg.test(str);
}
// check if string has spaces
function string_has_spaces(str) {
    var reg = /\s/g;
    return reg.test(str);
}
第一:使用
.trim()
避免左/右空格,甚至避免没有任何字符的空格
$(“.first\u name\u input”).val().trim();

第二:用于验证

// if the string has special characters
function string_has_spec_char(str){
    var reg = /[~`!#@$%\^&*+=\-\[\]\\';,_./{}\(\)\|\\":<>\?]/g;
    return reg.test(str);
}
// check if string has spaces
function string_has_spaces(str) {
    var reg = /\s/g;
    return reg.test(str);
}

Mohamed非常感谢!!它工作得很好!我不知道我的正则表达式有什么问题,我必须做一个嵌套的if,这意味着如果名字有give error,就检查它是否有特殊字符,如果没有,就检查空格,如果没有give,就检查它是否有give errornothing@firasprogrammer事实上我不是正则表达式专家,但我能告诉你的是编程如果你发现一个有效的正则表达式,只需保留/保存它,而不是查看你的正则表达式有什么问题,除非你需要成为正则表达式专家。我建议创建一个
validate.js
文件,并将所有的正则表达式/validate函数放入其中,这样你就可以在以后的任何项目中简单地使用它。祝你有一个伟大的一天:-)Mohamed非常感谢!!它有效d太好了!我不知道我的正则表达式出了什么问题,我必须做一个嵌套的if,这意味着如果名字有give error,检查名字是否有特殊字符,如果没有,检查空格,如果没有give,检查名字是否有give errornothing@firasprogrammer事实上,我不是正则表达式方面的专家。但我可以告诉你的是,如果你找到一个合适的regex只需保留/保存它,而不是查看自己的错误,除非你需要成为regex专家..我建议创建一个
validate.js
文件,并将所有regex/validate函数放入其中,这样你就可以在以后的任何项目中简单地使用它..祝你有一个伟大的一天:-)