如何在codeigniter中验证手机

时间:2016-12-13 06:30:03

标签: codeigniter

我想用国家/地区代码验证国际电话号码

$this->form_validation->set_rules('mobile', 'Mobile', 'trim|required|regex_match[/^[0-9]$/]');

1 个答案:

答案 0 :(得分:0)

正则表达式应该是这样的:

\+(9[976]\d|8[987530]\d|6[987]\d|5[90]\d|42\d|3[875]\d|
2[98654321]\d|9[8543210]|8[6421]|6[6543210]|5[87654321]|
4[987654310]|3[9643210]|2[70]|7|1)\d{1,14}$

是否匹配通用国际电话号码的正确格式。我用标准的国际访问代码标识符'+'替换了美国陆线中心国际访问代码011,使其成为强制性的。我还将国家号码的最小值更改为至少一位数。

请注意,如果您以此格式在手机地址簿中输入数字,无论您在何处旅行,都可以成功拨打地址簿中的任何号码。对于陆线,请将plus替换为您拨打国家/地区的国际访问代码。

请注意,这并未考虑国家号码计划规则 - 具体而言,它允许在国家号码计划可能不允许的位置使用零和一个,并且还允许某些国家/地区的号码长度大于国家号码计划(例如, US)。