Javascript 具有通配符的最小字符数
我有下面的通配符搜索,它查找以下条件Javascript 具有通配符的最小字符数,javascript,jquery,regex,Javascript,Jquery,Regex,我有下面的通配符搜索,它查找以下条件 $.validator.addMethod("FirstName", function (value, element) { return this.optional(element) || /^[a-zA-Z''-'\s]{3,20}[\%\*]{0,1}$/i.test(value); }, "For wild card search minimum of 3 characters should be entered."); $("#frmJs
$.validator.addMethod("FirstName", function (value, element) {
return this.optional(element) || /^[a-zA-Z''-'\s]{3,20}[\%\*]{0,1}$/i.test(value);
}, "For wild card search minimum of 3 characters should be entered.");
$("#frmJscsSearch").validate({
rules : {
FirstName : "required FirstName"
},
});
如何验证用户是否使用
*
输入了2个字符,则该字符无效?查看此正则表达式是否符合您的要求(使用交替|
):
你原来的正则表达式也有点乱,所以我对它进行了编辑。您也可以尝试检查错误的输入,而不是正确的输入:
var re = /([^a-z '\-*%])|(^[\w\W]{0,2}[\*\%]&)|(^[ \-*%'])|([ \-]$)|([ \-']{2,})/i
!(re.test(value))
这样,您可以更轻松地检查更具体的条件。上面的regexp描述了以下规则:
- 值应仅包含
字符李>a-z'-*%
或*
应为最后一个符号(如果使用),前面至少有三个其他字符李>%
- 值不能以
开头李>-'*%
- 值不能以
结尾李>-
- 值不能在一行中包含多个
-'
*
字符返回false
?前两个字符可以是任何字符吗?还是只有字母数字字符?您能否更新问题以描述哪些字符是有效输入?@guest271314,请检查正则表达式。如果需要验证。
var re = /([^a-z '\-*%])|(^[\w\W]{0,2}[\*\%]&)|(^[ \-*%'])|([ \-]$)|([ \-']{2,})/i
!(re.test(value))