这个正则表达式有什么问题?
^[a-zA-Z,\d,\&,\#,\-,\(,\']{3,15}$
有效输入为alphanumeric
,space
,#
,&
,'
,,
-
,最高和最小长度分别为3和15。
当我输入以下有效输入时,它会失败:
MT90#&' ABCD
答案 0 :(得分:2)
您不需要逗号分隔符,也不需要转义所有这些字符:
^[a-zA-Z\d\s&#-\(']{3,15}$
答案 1 :(得分:1)
您错过了空间\s
,无需在字符集中使用,
。
这没关系:
/^[a-zA-Z\d\s&#-\(']{3,15}$/
的更新强> 的
\s
将匹配所有空格(包括制表符和换行符以及空格),如果您只想要空格,请更改为:
/^[a-zA-Z\d &#-\(']{3,15}$/
答案 2 :(得分:0)
你错过了一个空间。试试这个:[a-zA-Z\d\&\#\-\(\' ]{3,15}$
答案 3 :(得分:0)
您只需要转义以下字符:
[ \ ^ $ . | ? * + ( )
您也不需要在集合中的字符之间加','
如果您在正则表达式中使用\s
,则会涵盖space
,tab
和line breaks
。
答案 4 :(得分:-1)
^[a-zA-Z\d\&\#\-\(\'\ ]{3,15}$
删除逗号,你很高兴