【问题标题】:firstName.lastName regular expression using regularexpressionvalidator in asp.net在asp.net中使用regularexpressionvalidator的firstName.lastName正则表达式
【发布时间】:2011-02-24 16:27:40
【问题描述】:

如何创建一个正则表达式,如下所示:

FirstName.LastName 或 FirstName.Letter.LastName

举个例子:

  • 约翰·史密斯
  • 约翰.S.史密斯

不允许举例:

  • 约翰·史密斯
  • 约翰
  • 约翰。
  • 约翰·史密斯
  • 约翰.S.D.史密斯

提前致谢!

格雷格

【问题讨论】:

    标签: asp.net regex validation


    【解决方案1】:

    这行得通;我已经用你所有的例子对其进行了测试:

    ^[A-Za-z]+\.([A-Za-z]\.)?[A-Za-z]+$
    

    解释:

    ^ - 匹配字符串开头的锚点
    [A-Za-z]+\. - 匹配一个字母 1 次或多次后跟一个句点
    ([A-Za-z]\.)? - 可选择匹配一个字母后跟一个句点[A-Za-z]+ - 匹配一个字母 1 次或多次
    $ - 锚以匹配字符串的结尾

    希望这会有所帮助!有关正则表达式的快速参考,请参阅here

    【讨论】:

      【解决方案2】:

      你可以使用这个模式:[a-zA-Z]+\.([a-zA-Z]\.)?[a-zA-Z]+

      请记住,这不会强制名称大写,因此“john”或“John”是有效的。您可以通过在每个名称部分的开头放置一个额外的[A-Z] 并将其余部分与[a-z] 匹配来强制执行此操作,但这可能会给您的用户带来麻烦。相反,您可以在后端应用这种大小写。

      【讨论】:

        【解决方案3】:

        你可以这样做

        \w+\.\w\.\w+|\w+\.\w+

        应该很高兴地抓住你的好榜样而忽略你的坏榜样。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-09-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多