1

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

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)

上面的例子应该是一个有效的输入。我将如何修剪我的正则表达式以允许给定的示例?

4

1 回答 1

2

A.被匹配,[0-9a-zA-Z,.-]+?但中间部分[0-9a-zA-Z ]+?不匹配任何东西。

只匹配字母数字和句点、逗号和破折号/^[0-9a-zA-Z,.-]+$/就足够了。

于 2012-05-25T08:38:58.737 回答