问题描述
正则表达式能判断出来运营商,和后续的添加维护功能。
解决方案
看你对匹配的精度的要求高不高了,如果单纯判断开头三位数字的话://电信 String telcomPattern = "(189|153|133)[0-9]{8}"; //测试 String[] phoneNums = { "18902481111", "a", "189", "13244445555" }; for (String phoneNum : phoneNums) { System.out.println(phoneNum.matches(telcomPattern)); }
解决方案二:
/*** 返回类型 1 中国移动 2 中国联通 3 中国电信 0 无法识别**/function validate(phoneno){var regex = /^(134|135|136|137|138|139|150|151|157|158|159)[0-9]{8}$/;if(regex.test(phoneno)){alert("中国移动!");return 1;}regex = /^(130|131|132|155|156)[0-9]{8}$/;if(regex.test(phoneno)){alert("中国联通!");return 2;}regex = /^(133|153|189)[0-9]{8}$/;if(regex.test(phoneno)){alert("中国电信!");return 3;}return 0;}