评论

.wxs文件中使用国内外手机号码正则表达式 示例

校验手机号正则


 /**
  * 国内外手机号码正则表达式 phoneReg(13700001111,+86)
  * @param {*String} phoneNo 13700001111,5900001111
  * @param {*String} areaCode +86,+852
*/
var phoneReg = function (phoneNo,areaCode) {


  var telReg = {
    'zh-CN': getRegExp("^(\+?0?86\-?)?1[345789]\d{9}$"),
    'zh-HK': getRegExp("^([5|6|8|9|])\d{7}$"),
    'zh-TW': getRegExp("^[0][9]\d{8}$"),
    'zh-TW_1': getRegExp("^(\+?886\-?|0)?9\d{8}$"),
    'zh-AOMEN': getRegExp("^[6]([8|6])\d{5}$"),
    'en-US': getRegExp("^(\+?1)?[2-9]\d{2}[2-9](?!11)\d{6}$"),
    'en-HK': getRegExp("^(\+?852\-?)?[569]\d{3}\-?\d{4}$"),
    'ar-DZ': getRegExp("^(\+?213|0)(5|6|7)\d{8}$"),
    'ar-SY': getRegExp("^(!?(\+?963)|0)?9\d{8}$"),
    'ar-SA': getRegExp("^(!?(\+?966)|0)?5\d{8}$"),
    'cs-CZ': getRegExp("^(\+?420)? ?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{3}$"),
    'de-DE': getRegExp("^(\+?49[ \.\-])?([\(]{1}[0-9]{1,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[ ]?[0-9]{1,4})?$"),
    'da-DK': getRegExp("^(\+?45)?(\d{8})$"),
    'el-GR': getRegExp("^(\+?30)?(69\d{8})$"),
    'en-AU': getRegExp("^(\+?61|0)4\d{8}$"),
    'en-GB': getRegExp("^(\+?44|0)7\d{9}$"),
    'en-IN': getRegExp("^(\+?91|0)?[789]\d{9}$"),
    'en-NZ': getRegExp("^(\+?64|0)2\d{7,9}$"),
    'en-ZA': getRegExp("^(\+?27|0)\d{9}$"),
    'en-ZM': getRegExp("^(\+?26)?09[567]\d{7}$"),
    'es-ES': getRegExp("^(\+?34)?(6\d{1}|7[1234])\d{7}$"),
    'fi-FI': getRegExp("^(\+?358|0)\s?(4(0|1|2|4|5)?|50)\s?(\d\s?){4,8}\d$"),
    'fr-FR': getRegExp("^(\+?33|0)[67]\d{8}$"),
    'he-IL': getRegExp("^(\+972|0)([23489]|5[0248]|77)[1-9]\d{6}"),
    'hu-HU': getRegExp("^(\+?36)(20|30|70)\d{7}$"),
    'it-IT': getRegExp("^(\+?39)?\s?3\d{2} ?\d{6,7}$"),
    'ja-JP': getRegExp("^(\+?81|0)\d{1,4}[ \-]?\d{1,4}[ \-]?\d{4}$"),
    'ms-MY': getRegExp("^(\+?6?01){1}(([145]{1}(\-|\s)?\d{7,8})|([236789]{1}(\s|\-)?\d{7}))$"),
    'nb-NO': getRegExp("^(\+?47)?[49]\d{7}$"),
    'nl-BE': getRegExp("^(\+?32|0)4?\d{8}$"),
    'nn-NO': getRegExp("^(\+?47)?[49]\d{7}$"),
    'pl-PL': getRegExp("^(\+?48)? ?[5-8]\d ?\d{3} ?\d{2} ?\d{2}$"),
    'pt-BR': getRegExp("^(\+?55|0)\-?[1-9]{2}\-?[2-9]{1}\d{3,4}\-?\d{4}$"),
    'pt-PT': getRegExp("^(\+?351)?9[1236]\d{7}$"),
    'ru-RU': getRegExp("^(\+?7|8)?9\d{9}$"),
    'sr-RS': getRegExp("^(\+3816|06)[- \d]{5,9}$"),
    'tr-TR': getRegExp("^(\+?90|0)?5\d{9}$"),
    'vi-VN': getRegExp("^(\+?84|0)?((1(2([0-9])|6([2-9])|88|99))|(9((?!5)[0-9])))([0-9]{7})$"),
  };
  


  	var tel = areaCode +  "" +  phoneNo;


   console.log("tel==>",tel)
 
    if(telReg["zh-CN"].test(tel) ||
          telReg["zh-HK"].test(tel) ||
          telReg["zh-TW"].test(tel) ||
          telReg["zh-TW_1"].test(tel) ||
          telReg["zh-AOMEN"].test(tel) ||
          telReg["en-US"].test(tel) ||
          telReg["en-HK"].test(tel) ||
          telReg["ar-DZ"].test(tel) ||
          telReg["ar-SY"].test(tel) ||
          telReg["ar-SA"].test(tel) ||
          telReg["cs-CZ"].test(tel) ||
          telReg["de-DE"].test(tel) ||
          telReg["da-DK"].test(tel) ||
          telReg["el-GR"].test(tel) ||
          telReg["en-AU"].test(tel) ||
          telReg["en-GB"].test(tel) ||
          telReg["en-IN"].test(tel) ||
          telReg["en-NZ"].test(tel) ||
          telReg["en-ZA"].test(tel) ||
          telReg["en-ZM"].test(tel) ||
          telReg["es-ES"].test(tel) ||
          telReg["fi-FI"].test(tel) ||
          telReg["fr-FR"].test(tel) ||
          telReg["he-IL"].test(tel) ||
          telReg["hu-HU"].test(tel) ||
          telReg["it-IT"].test(tel) ||
          telReg["ja-JP"].test(tel) ||
          telReg["ms-MY"].test(tel) ||
          telReg["nb-NO"].test(tel) ||
          telReg["nl-BE"].test(tel) ||
          telReg["nn-NO"].test(tel) ||
          telReg["pl-PL"].test(tel) ||
          telReg["pt-BR"].test(tel) ||
          telReg["pt-PT"].test(tel) ||
          telReg["ru-RU"].test(tel) ||
          telReg["sr-RS"].test(tel) ||
          telReg["tr-TR"].test(tel) ||
          telReg["vi-VN"].test(tel)
    ){
      return 1;
    }


   return false;
}


附上语言(文化)代码与国家地区对照表:


国家/地区 语言代码 国家/地区 语言代码


简体中文(中国) zh-cn 繁体中文(台湾地区) zh-tw

繁体中文(香港) zh-hk 英语(香港) en-hk

英语(美国) en-us 英语(英国) en-gb

英语(全球) en-ww 英语(加拿大) en-ca

英语(澳大利亚) en-au 英语(爱尔兰) en-ie

英语(芬兰) en-fi 芬兰语(芬兰) fi-fi

英语(丹麦) en-dk 丹麦语(丹麦) da-dk

英语(以色列) en-il 希伯来语(以色列) he-il

英语(南非) en-za 英语(印度) en-in

英语(挪威) en-no 英语(新加坡) en-sg

英语(新西兰) en-nz 英语(印度尼西亚) en-id

英语(菲律宾) en-ph 英语(泰国) en-th

英语(马来西亚) en-my 英语(阿拉伯) en-xa

韩文(韩国) ko-kr 日语(日本) ja-jp

荷兰语(荷兰) nl-nl 荷兰语(比利时) nl-be

葡萄牙语(葡萄牙) pt-pt 葡萄牙语(巴西) pt-br

法语(法国) fr-fr 法语(卢森堡) fr-lu

法语(瑞士) fr-ch 法语(比利时) fr-be

法语(加拿大) fr-ca 西班牙语(拉丁美洲) es-la

西班牙语(西班牙) es-es 西班牙语(阿根廷) es-ar

西班牙语(美国) es-us 西班牙语(墨西哥) es-mx

西班牙语(哥伦比亚) es-co 西班牙语(波多黎各) es-pr

德语(德国) de-de 德语(奥地利) de-at

德语(瑞士) de-ch 俄语(俄罗斯) ru-ru

意大利语(意大利) it-it 希腊语(希腊) el-gr

挪威语(挪威) no-no 匈牙利语(匈牙利) hu-hu

土耳其语(土耳其) tr-tr 捷克语(捷克共和国) cs-cz

斯洛文尼亚语 sl-sl 波兰语(波兰) pl-pl

瑞典语(瑞典) sv-se 西班牙语(智利)




最后一次编辑于  2020-06-12  
点赞 1
收藏
评论

1 个评论

  • 关家宝
    关家宝
    2021-01-02

    2021-01-02
    赞同
    回复
登录 后发表内容