2012-12-07 166 views
0

之間的字符和1個點我想要一個只允許az字符和1個點的正則表達式字符,不在字符串的開始或結尾,這裏是我得到的:正則表達式只允許在

var myRegexp = /^[a-zA-Z]*(\.{1}[a-zA-Z]*)?$/; 

但它也允許點是第一個或最後一個字符,我怎麼可以在開始或結束字符串時禁止點?

上面的代碼在JS中工作,那麼如何使用preg_match()在PHP中使用相同的正則表達式?

預先感謝

回答

2

*裝置0一對多。如果您使用+,那麼這將強制在點之前和之後出現至少1個字符。即

var myRegexp = /^[a-zA-Z]+(\.{1}[a-zA-Z]+)?$/; 
1

試試這個

var myRegexp = /^[a-z]+(\.[a-z]+)?$/i; 
你過於簡單化它
+0

,這迫使點存在。 –

+0

你的權利。修訂。 – garyh