【发布时间】:2011-02-24 16:27:40
【问题描述】:
如何创建一个正则表达式,如下所示:
FirstName.LastName 或 FirstName.Letter.LastName
举个例子:
- 约翰·史密斯
- 约翰.S.史密斯
不允许举例:
- 约翰·史密斯
- 约翰
- 约翰。
- 约翰·史密斯
- 约翰.S.D.史密斯
提前致谢!
格雷格
【问题讨论】:
标签: asp.net regex validation
如何创建一个正则表达式,如下所示:
FirstName.LastName 或 FirstName.Letter.LastName
举个例子:
不允许举例:
提前致谢!
格雷格
【问题讨论】:
标签: asp.net regex validation
这行得通;我已经用你所有的例子对其进行了测试:
^[A-Za-z]+\.([A-Za-z]\.)?[A-Za-z]+$
解释:
^ - 匹配字符串开头的锚点[A-Za-z]+\. - 匹配一个字母 1 次或多次后跟一个句点([A-Za-z]\.)? - 可选择匹配一个字母后跟一个句点[A-Za-z]+ - 匹配一个字母 1 次或多次$ - 锚以匹配字符串的结尾
希望这会有所帮助!有关正则表达式的快速参考,请参阅here。
【讨论】:
你可以使用这个模式:[a-zA-Z]+\.([a-zA-Z]\.)?[a-zA-Z]+
请记住,这不会强制名称大写,因此“john”或“John”是有效的。您可以通过在每个名称部分的开头放置一个额外的[A-Z] 并将其余部分与[a-z] 匹配来强制执行此操作,但这可能会给您的用户带来麻烦。相反,您可以在后端应用这种大小写。
【讨论】:
你可以这样做
\w+\.\w\.\w+|\w+\.\w+
应该很高兴地抓住你的好榜样而忽略你的坏榜样。
【讨论】: