【问题标题】:validation on telephone numbers?验证电话号码?
【发布时间】:2010-03-08 04:57:24
【问题描述】:

在我的应用程序中,我想验证电话号码,我该如何为电话号码编写正则表达式,例如..

040-23357399 或 04023357399 91-40-23357399 或 914023357399 08518-2814655 或 085182814655 91-8518-2814655 或 9185182814655

这是我的电话号码,我该如何写这个表达式

【问题讨论】:

  • 到目前为止你尝试过什么?您是否浏览过网络上的各种正则表达式网站?虽然有人会给你一个答案(因为分数很好,回答问题也很好),但如果你先告诉我们你尝试了什么通常会更好,这样你也可以从中学到一些东西,以便以后教别人。
  • 欺骗:stackoverflow.com/questions/123559/… 可能还有其他人。

标签: .net asp.net regex


【解决方案1】:

验证意味着拒绝,您的用户会觉得这很烦人。更好的选择是通过首先从字符串中去除所有非数字,然后检查长度和初始数字与一些简单的规则来尽可能地接受:

  • 如果 11 位数字并以 1 开头,则去掉第一个数字。
  • 如果以 2-9 开头,则接受 10 位数字。
  • 如果以有效的国家/地区代码开头,则接受 12-14 位数字。
  • 拒绝其他一切。

这比试图强迫您的用户使用特定格式要多得多,并且使验证代码更简单、更快。然后,您只需在重新显示时很好地格式化它。

【讨论】:

  • 好主意...但是如果我们想在客户端检查它呢?
  • @HotTester 仍然去除非数字并通过规则检查。您可以编写客户端 javascript 以配合 ASP.Net 中的 CustomValidator 控件。
【解决方案2】:

更多信息请参考this

另一个不错的链接是this

还要检查这个正则表达式:

^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})$

【讨论】:

    猜你喜欢
    • 2012-10-27
    • 1970-01-01
    • 1970-01-01
    • 2011-02-03
    • 2011-09-05
    • 2015-09-08
    • 2012-10-21
    相关资源
    最近更新 更多