天天看点

如何判断拨打的手机号码及存储的号码是否合法?

今天通过程序要写电话号码到手机里面去,但是对这个号码规则不是太懂。上网搜索了一下也还是没有找到。

于是我手头不是有mtk的代码嘛,直接看程序里面是怎么判断的不就行了。

最终找到函数mmi_phb_op_check_valid_number();对代码进行分析发现也很简单。

总结规律如下:

1.首先号码里面只能有1234567890*#pw+,其他都是非法字符。

其中123456789×#使用是一样的。可以出现数字的地方就可以出现”*”,”#”

2.“+”号是必须在第一位的。要么就没有”+”

+1334 ,合法。

23+2  ,是非法。

3.”p”, “w”必须不能为第一位字母,并且其后面不能为”*”,”#”

23p* , 非法

23p#,非法

23p3 ,合法

p就是有停顿的意思~例如你拔打:1380013800按1是普通话,再按2是查话费~

你可以在电话上输入:13800138000p1p2这样电话接通后会直接的帮你转1再 转2.你就可以直接听到话费了