我目前正在使用正则表达式构建比赛。我只想接受字母数字和特殊字符,例如句点(.),逗号(,)和破折号(-)。这是我的代码:
code nullable: false, blank: false, maxSize: 30, matches : /^[0-9a-zA-Z,.-]+?[0-9a-zA-Z ]+?[0-9a-zA-Z,.-]*?$/
该代码可以正常工作,但是每次我输入一个字母和一个指定特殊字符之一的组合时,都会引发错误消息。
例:
1) A. (an error is thrown)
2) A- (an error is thrown)
3) A, (an error is thrown)
上面的示例应为有效输入。如何缩小正则表达式以允许使用给定的示例?
请您参考如下方法:
A.与[0-9a-zA-Z,.-]+?匹配,但中间部分[0-9a-zA-Z ]+?不匹配任何内容。
为了只匹配字母数字和句点,逗号和破折号,/^[0-9a-zA-Z,.-]+$/就足够了。




