我有这样的正则表达式:
var filter = /^[ A-Za-z0-9_@./#&+-]*$/;
如果输入字段上没有字符或者字符小于14,我希望这个正则表达式返回true。我尝试使用这个:
var filter = /^[ A-Za-z0-9_@./#&+-]{0, 15}*$/;
但这个正则表达式永远不会真实。即使满足条件,它总是返回假。怎么了?
答案 0 :(得分:3)
空格在正则表达式中很重要。空格字符使{n,m}
量词无效,导致{0, 15}*
被评估为文字字符串"{0, 15"
,后跟零个或多个}
s。
此外,您可以将[A-Za-z0-9_]
压缩为\w
:
var filter = /^[ \w@./#&+-]{0,15}$/;
答案 1 :(得分:0)
试试这个.........
^\w{1,15}$