2012-05-25 109 views
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) 

上面的例子應該是一個有效輸入。我將如何削減我的正則表達式來允許給定的例子?

回答

2

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

僅僅匹配字母數字和句點,逗號和短劃線,/^[0-9a-zA-Z,.-]+$/就足夠了。

+0

非常感謝你!它工作完美! – chemilleX3

+1

我可以極力推薦用於測試正則表達式的Rubular:http://rubular.com/r/88GjUT2YsR – Stefan

+0

非常感謝您分享該鏈接Stefan!這真的是一個很好的幫助! – chemilleX3