原文:
javascript (js)判断手机号码中国移动、中国联通、中国电信
我国使用的手机号码为11位,其中各段有不同的编码方向:前3位———网络识别号;第4-7位———地区编码;第8-11位———用户号码。
中国移动134、135、136、137、138、139、150、151、152、157、158、159、147、182、183、184、187、188.178(4G) 中国联通130.131.132.155.156.185.186.145(属于联通无线上网卡号段).176 (4G) 中国电信133.153.180.189.181
//匹配移动手机号
var PATTERN_CHINAMOBILE = /^1(3[4-9]|5[012789]|8[23478]|4[7]|7[8])\d{8}$/
// 匹配联通手机号
var PATTERN_CHINAUNICOM =/^1(3[0-2]|5[56]|8[56]|4[5]|7[6])\d{8}$/;
// 匹配电信手机号
var PATTERN_CHINATELECOM =/^1(3[3])|(8[019])\d{8}$/;
测试一下:
中国电信:
PATTERN_CHINATELECOM.test('18166889988');
true
PATTERN_CHINATELECOM.test('13366889988');
true
中国联通:
PATTERN_CHINAUNICOM.test('13066889988');
true
PATTERN_CHINAUNICOM.test('13166889988');
true
中国移动:
PATTERN_CHINAMOBILE.test('15166889988');
true
PATTERN_CHINAMOBILE.test('13866889988');
true