好像就是我写的哦,哈哈哈。
更新:当时写的时候很匆忙,就没有考虑太多,所以有些号码显示还是不完美,主要是匹配规则定的不够细。比如对于长途:
直辖市都是3位数的,号码范围是01x, 02x,其他城市则可能是3位的,也可能是4位的,所以规则应该改一下:
(01#) ########
(02#) ########
(###) ########
(####) ########
(####) #######
碰到01012345678匹配第一条规则,变成:(010) 12345678
碰到02112345678匹配第二条规则,变成:(021) 12345678
碰到057112345678匹配第五条规则,变成:(0571) 12345678
碰到08181234567匹配的六条规则,变成:(0818) 1234567
再比如对于手机,都是1开头的,但是也有一些特别服务号码也是1开头的,所以还要再细化一下,例如:
(1##) ########
可以匹配所有手机了,但是对于10086就匹配成了(100) 86,所以还要加规则:
#####
就是对于5位数的不加修饰,10086照常显示
真要做的很好,恐怕要过断时间逐渐调整规则,最后才会有一个完整的列表。
另外,并不是只能用括号,也能用空格、减号,比如对13912345678:
如果定义规则:(###) ########,就显示成:(139) 12345678
如果定义规则:(### ####-####),就显示成:(139 1234-5678)
[ 本帖最后由 n000b 于 2007-9-26 11:43 编辑 ]