加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 伊朗手机号码的正则表达式?

发布时间:2020-12-15 18:06:30 所属栏目:百科 来源:网络整理
导读:如何通过正则表达式测试用户手机号码. 伊朗手机有这样的数字系统: 091- --- ----093[1-9] --- ---- 一些示例前缀: 0913894----0937405----0935673---- 0912112---- 资料来源:http://en.wikipedia.org/wiki/Telephone_numbers_in_Iran 解决方法 检测伊朗手
如何通过正则表达式测试用户手机号码.
伊朗手机有这样的数字系统:
091- --- ----
093[1-9] --- ----

一些示例前缀:

0913894----
0937405----
0935673---- 
0912112----

资料来源:http://en.wikipedia.org/wiki/Telephone_numbers_in_Iran

解决方法

检测伊朗手机号码的最佳正则表达式

我确定它是用于检测伊朗手机号码的最佳正则表达式.

(0|+98)?([ ]|-|[()]){0,2}9[1|2|3|4]([ ]|-|[()]){0,2}(?:[0-9]([ ]|-|[()]){0,2}){8}

在javascript中使用

var
mobileReg = /(0|+98)?([ ]|-|[()]){0,2}){8}/ig,junkReg = /[^d]/ig,persinNum = [/?/gi,/?/gi,/?/gi,/?/gi,/?/gi,/?/gi,/?/gi,/?/gi,/?/gi,/?/gi],num2en = function (str){
  for(var i=0;i<10;i++){
    str=str.replace(persinNum[i],i);
  }
  return str;
},getMobiles = function(str){
  var mobiles = num2en(str+'').match(mobileReg) || [];
  mobiles.forEach(function(value,index,arr){
    arr[index]=value.replace(junkReg,'');
    arr[index][0]==='0' || (arr[index]='0'+arr[index]);
  });
  return mobiles;
};

// test
console.log(getMobiles("jafang 0 91 2 (123) 45-67 jafang or +?? (???) ?? ?? ???"));

支持所有这些选项

912 123 4567
912 1234 567
912-123-4567
912 (123) 4567
9 1 2 1 2 3 4 5 6 7
9 -1 (2 12))3 45-6 7
and all with +98 or 0
+989121234567
09121234567
9121234567

甚至波斯数字

+?? (???) ?? ?? ???

并且仅检测真正的伊朗运算符编号091x 092x 093x 094x

欲了解更多信息:https://gist.github.com/AliMD/6439187

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读