在我的asp.net应用程序中,我必须根据下拉列表中选择的国家/地区名称使用验证手机号码。
我已经google了解决方案,但无法找到确切的解决方案。
有人可以与我分享有用的链接或信息吗?
答案 0 :(得分:1)
简答:
你不能(除非你只限于一个非常特定的国家子集)。
答案很长:
电话系统太多样了 - 简而言之 - 非标准化,无法创建一个“全能”解决方案。
虽然有些国家(例如美国)有固定长度的数字,但其他国家/地区,例如德国,可变长度。
例如,德国固定电话的区号始终为5位数(如果您从其他国家/地区拨打电话,则为4位数)。但是,对于手机,它总是4位数(从另一个国家拨打3位数字)。
实际(本地)电话号码可以是3位数到7位或更多位。
我的父母有一个他们很久以前的电话 - 4位数(总共9位数字区号)。如果我今天得到一份新合同,我最有可能会得到6位或7位数(总共12位数)。
你能做什么
您可以尝试使用正则表达式(请参阅Shekhar上面的评论)来验证正确的格式(例如,包括国家/地区选择),而不是检查完整的数字。虽然这不是一个完美的解决方案,但它应该可以帮助您避免意外混淆输入用户。