00前缀是中国使用的国际接入码,如果从美国拨出的国际电话,美国规定使用011作为国际接入码(亦称国际冠码)
为方便用户记忆和拨号,在GSM(全球移动通信系统)的规范中规定“+”是通用的国际接入代码,即在任何国家GSM网络中,都可以用“+”代替国际接入码。
var arr = [{"name":"中国大陆","plus":"86"},{"name":"香港地区","plus":"852","afterLength":8,"prefix":"5,6,9"},{"name":"台湾地区","plus":"886","afterLength":9,"prefix":"9"},{"name":"澳门地区","plus":"853","afterLength":8,"prefix":"6"},{"name":"澳大利亚","plus":"61","afterLength":9,"prefix":"4"},{"name":"巴西","plus":"55","afterLength":{"max":11,"min":10}},{"name":"德国","plus":"49","afterLength":{"max":11,"min":10},"prefix":"15,16,17"},{"name":"俄罗斯","plus":"7","afterLength":10,"prefix":"901,902,903,904,905,906,908,909,91,92,93,950,951,952,953,96,98,99"},{"name":"法国","plus":"33","afterLength":9,"prefix":"6,73,74,75,76,77,78"},{"name":"菲律宾","plus":"63","afterLength":10,"prefix":"9"},{"name":"韩国","plus":"82","afterLength":10,"prefix":"1"},{"name":"美国","plus":"1","afterLength":10},{"name":"柬埔寨","plus":"855","afterLength":{"max":10,"min":8},"prefix":"1,38,6,7,8,9"},{"name":"老挝","plus":"856","afterLength":{"max":10,"min":9},"prefix":"20"},{"name":"马来西亚","plus":"60","afterLength":{"max":10,"min":9},"prefix":"1"},{"name":"缅甸","plus":"95","afterLength":{"max":10,"min":8},"prefix":"9,64"},{"name":"日本","plus":"81","afterLength":10,"prefix":"70,80,90"},{"name":"泰国","plus":"66","afterLength":10,"prefix":"06,08,09"},{"name":"文莱","plus":"673","afterLength":{"max":8,"min":7},"prefix":"8"},{"name":"西班牙","plus":"34","afterLength":9,"prefix":"6,7"},{"name":"新加坡","plus":"82","afterLength":8,"prefix":"8,9"},{"name":"新西兰","plus":"64","afterLength":{"max":10,"min":8},"prefix":"2"},{"name":"意大利","plus":"39","afterLength":{"max":10,"min":9},"prefix":"3"},{"name":"印度","plus":"91","afterLength":10,"prefix":"9,8,7"},{"name":"印尼","plus":"62","afterLength":{"max":10,"min":8},"prefix":"8"},{"name":"英国","plus":"44","afterLength":10,"prefix":"73,74,75,7624,77,78,79"},{"name":"越南","plus":"84","afterLength":{"max":10,"min":9},"prefix":"1,3,5,7,8,9"},{"name":"波兰","plus":"48","afterLength":9,"prefix":"4,5,6,7,8"}] |
var a = { | |
"0086": {name: "中国大陆", plus: "86"}, | |
"00852": {name: "香港地区", plus: "852", afterLength: 8, prefix: "5,6,9"}, | |
"00886": {name: "台湾地区", plus: "886", afterLength: 9, prefix: "9"}, | |
"00853": {name: "澳门地区", plus: "853", afterLength: 8, prefix: "6"}, | |
"0061": {name: "澳大利亚", plus: "61", afterLength: 9, prefix: "4"}, | |
"0055": {name: "巴西", plus: "55", afterLength: {max: 11, min: 10}}, | |
"0049": {name: "德国", plus: "49", afterLength: {max: 11, min: 10}, prefix: "15,16,17"}, | |
"007": {name: "俄罗斯", plus: "7", afterLength: 10, prefix: "901,902,903,904,905,906,908,909,91,92,93,950,951,952,953,96,98,99"}, | |
"0033": {name: "法国", plus: "33", afterLength: 9, prefix: "6,73,74,75,76,77,78"}, | |
"0063": {name: "菲律宾", plus: "63", afterLength: 10, prefix: "9"}, | |
"0082": {name: "韩国", plus: "82", afterLength: 10, prefix: "1"}, | |
"001": {name: "加拿大", plus: "1", afterLength: 10}, | |
"00855": {name: "柬埔寨", plus: "855", afterLength: {max: 10, min: 8}, prefix: "1,38,6,7,8,9"}, | |
"00856": {name: "老挝", plus: "856", afterLength: {max: 10, min: 9}, prefix: "20"}, | |
"0060": {name: "马来西亚", plus: "60", afterLength: {max: 10, min: 9}, prefix: "1"}, // afterLength can be 9 or 10 | |
"001": {name: "美国", plus: "1", afterLength: 10}, | |
"0095": {name: "缅甸", plus: "95", afterLength: {max: 10, min: 8}, prefix: "9,64"}, | |
"0081": {name: "日本", plus: "81", afterLength: 10, prefix: "70,80,90"}, | |
"0066": {name: "泰国", plus: "66", afterLength: 10, prefix: "06,08,09"}, | |
"00673": {name: "文莱", plus: "673", afterLength: {max: 8, min: 7}, prefix: "8"}, | |
"0034": {name: "西班牙", plus: "34", afterLength: 9, prefix: "6,7"}, | |
"0065": {name: "新加坡", plus: "82", afterLength: 8, prefix: "8,9"}, | |
"0064": {name: "新西兰", plus: "64", afterLength: {max: 10, min: 8}, prefix: "2"}, | |
"0039": {name: "意大利", plus: "39", afterLength: {max: 10, min: 9}, prefix: "3"}, | |
"0091": {name: "印度", plus: "91", afterLength: 10, prefix: "9,8,7"}, | |
"0062": {name: "印尼", plus: "62", afterLength: {max: 10, min: 8}, prefix: "8"}, | |
"0044": {name: "英国", plus: "44", afterLength: 10, prefix: "73,74,75,7624,77,78,79"}, | |
"0084": {name: "越南", plus: "84", afterLength: {max: 10, min: 9}, prefix: "1,3,5,7,8,9"}, | |
"0048": {name: "波兰", plus: "48", afterLength: 9, prefix: "4,5,6,7,8"}, | |
} | |
var currentRule = a["0086"]; | |
var validPhone = true; | |
var multiRegexp = currentRule.prefix ? currentRule.prefix.split(",") : [""]; | |
for (var i = 0; i < multiRegexp.length; i++) { | |
var reg = new RegExp('^(' + | |
multiRegexp[i] + | |
')\\d{' + | |
(currentRule.afterLength.max ? | |
((currentRule.afterLength.min - multiRegexp[i].length) + "," + (currentRule.afterLength.max - multiRegexp[i].length)) : | |
(currentRule.afterLength - multiRegexp[i].length)) + | |
'}$' | |
) | |
if (!reg.test(phone)) { | |
console.log(reg); | |
validPhone = false; | |
break; | |
} | |
} | |
if (!validPhone) { | |
console.error("Mobile not passed!") | |
return; | |
} |