我想允许使用字母数字字符和句点;但是,该短语不能连续包含两个或多个句点,它不能以句点开头或结尾,并且不允许有空格。

我同时使用PHP和Javascript。

到目前为止,我有/^(?!.*\.{2})[a-zA-Z0-9.]+$/
这适用于允许字母数字字符和句点,同时拒绝空格和连续的句点,但是我仍然不确定如何检查开始和/或结束句点。我该怎么办?并且,还有一种更好的方法来做我已经拥有的东西吗?

最佳答案

这是一种可能的方法

/^(?!\.)((?:[a-z\d]|(?<!\.)\.)+)(?<!\.)$/i

有关更多说明和测试,请参见此处:http://www.regex101.com/r/rZ6yH4

编辑:根据泰勒的解决方案,这是他的方法,缩短并简化为字母和数字
/^(?:[a-z\d]+(?:\.(?!$))?)+$/i

(http://www.regex101.com/r/dL5aG0)

07-27 18:02