修改此正则表达式以接受0到15个字符?

时间:2013-07-04 09:19:21

标签: javascript regex

我有这样的正则表达式:

var filter = /^[ A-Za-z0-9_@./#&+-]*$/;

如果输入字段上没有字符或者字符小于14,我希望这个正则表达式返回true。我尝试使用这个:

var filter = /^[ A-Za-z0-9_@./#&+-]{0, 15}*$/;

但这个正则表达式永远不会真实。即使满足条件,它总是返回假。怎么了?

2 个答案:

答案 0 :(得分:3)

空格在正则表达式中很重要。空格字符使{n,m}量词无效,导致{0, 15}*被评估为文字字符串"{0, 15",后跟零个或多个} s。

此外,您可以将[A-Za-z0-9_]压缩为\w

var filter = /^[ \w@./#&+-]{0,15}$/;

答案 1 :(得分:0)

试试这个.........

^\w{1,15}$