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

Javascript 允许数字、空格、加号、连字符和方括号的正则表达式

Javascript 允许数字、空格、加号、连字符和方括号的正则表达式,javascript,jquery,regex,jquery-plugins,Javascript,Jquery,Regex,Jquery Plugins,我正在使用jqueryvalidator,在这里我添加了一个方法来验证一个只允许数字、空格、加号、连字符和方括号的字符串。字符串中的数字是必需的,但其他承租人是可选的 我在jquery validor中添加方法的代码: jQuery.validator.addMethod( "regex", function(value, element, regexp) { var re = new RegExp(regexp); return this.optional(el

我正在使用jqueryvalidator,在这里我添加了一个方法来验证一个只允许数字、空格、加号、连字符和方括号的字符串。字符串中的数字是必需的,但其他承租人是可选的

我在jquery validor中添加方法的代码:

jQuery.validator.addMethod( "regex", function(value, element, regexp) {
        var re = new RegExp(regexp);
        return this.optional(element) || re.test(value);
    },
    "Please check your input."
);
规则代码如下:

rules: {
myfield: {
    required: true,
    regex: "[0-9]+" // want to add regular expression but I wrote only for digit which works but do not understand how to reach at my requirements.
 },
}

您可以将所需的字符添加到字符类中,如下所示:

/^(?=.*[0-9])[- +()0-9]+$/

正则表达式解释

  • (?=.[0-9])
    正向前瞻。确保至少有一个数字

  • [-+()0-9]+
    匹配数字、空格、加号、连字符和括号

如果您不愿意使用,请立即查看。你可以不用它们写一个更长的正则表达式

/^[- +()]*[0-9][- +()0-9]*$/

使用正则表达式测试程序来帮助您处理和测试各种输入:对“正则表达式语法”的简单搜索应该可以为您提供智能设计和调试所需的知识。无需提前查看:
/^[-+()]*[0-9][-+()0-9]*/
非常感谢,“/^[-+()]*[0-9][-+()0-9]*$/”它解决了我的问题。我正在使用你的正则表达式,在我的angular 2应用程序中的模式为
请输入一个有效的手机号码
,但它不适用于(808)8997646这样的数字。谢谢你的解释。