2012-12-07 108 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