我目前正在使用正则表达式构建我的匹配项。我想接受字母数字和特殊字符,例如句点(。),逗号(,)和破折号( - )。这是我的代码:
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)
以上示例应该是有效输入。我将如何减少我的正则表达式以允许给出示例?
答案 0 :(得分:2)
A.
与[0-9a-zA-Z,.-]+?
匹配,但中间部分[0-9a-zA-Z ]+?
与任何内容都不匹配。
要匹配字母数字和句号,逗号和破折号,/^[0-9a-zA-Z,.-]+$/
就足够了。