我目前正在使用正则表达式构建比赛。我只想接受字母数字和特殊字符,例如句点(.),逗号(,)和破折号(-)。这是我的代码:

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,.-]+$/就足够了。


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!