正则表达式判断号码靓号类型

发布时间 2023-08-28 22:35:44作者: 斯斯20222

正则表达式判断号码靓号类型

3 篇文章0 订阅

靓号检测:主要可以检测连号(正连 12345、倒连65432)、AABB号、手机号码、日期号(生日号、年度号)、ABBCABB号,3位以上重复号。

更多类型号码检测可以根据以下表达式改造。

1.匹配6位顺增   (?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){5}\d 

2.匹配6位顺降     (?:9(?=8)|8(?=7)|7(?=6)|6(?=5)|5(?=4)|4(?=3)|3(?=2)|2(?=1)|1(?=0)){5}\d 

3.匹配6位顺增或顺降  (?:(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){5}|(?:9(?=8)|8(?=7)|7(?=6)|6(?=5)|5(?=4)|4(?=3)|3(?=2)|2(?=1)|1(?=0)){5})\d   

4.匹配4-9位连续的数字  (?:(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){3,}|(?:9(?=8)|8(?=7)|7(?=6)|6(?=5)|5(?=4)|4(?=3)|3(?=2)|2(?=1)|1(?=0)){3,})\d   

5.匹配3位以上的重复数字  ([\d])\1{2,}   

6.匹配日期类型的数字  (19|20)[\d]{2}(1[0-2]|0?[1-9])(31|2[0-9]|1[0-9]|0?[0-9])   

7.手机号码类  (13[0-9]|15[0-9]|18[0-9])([\d]{2,4}){2}   

8.匹配33111类型的  ([\d])\1{1,}([\d])\2{2,}   

9.匹配5331533类型的  (([\d]){1,}([\d]){1,})\1{1,}   

10,匹配22334,123355类型的  ([\d])\1{1,}([\d])\2{1,}   

11.末位匹配$

//aabb,允许aaaa
(\d)\1(\d)\2$
//abab,允许aaaa
(\d)(\d)\1\2$
//aaab,允许aaaa
(\d)\1\1\d$
//同时允许
(?:(\d)\1(\d)\2|(\d)(\d)\3\4|(\d)\5\5\d)$
//以上如果不允许aaaa,第二个(\d)改为((?!\1)\d)

//如aabb,不允许aaaa
(\d)\1((?!\1)\d)\2$


  1.  
    var reg = new RegExp("(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){5}\\d", "g");
  2.  
    if (phone.match(reg) != null) {
  3.  
    code +=',ABCDEF';
  4.  
    }
  5.  
     
  6.  
    var reg = new RegExp("(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){2}\\d", "g");
  7.  
    if (phone.match(reg) != null) {
  8.  
    code += ',ABC';
  9.  
    }
  10.  
     
  11.  
    var reg = new RegExp("^(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){2}\\d[\\d][\\d](?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){2}\\d", "g");
  12.  
    if (phone.match(reg) != null) {
  13.  
    var result = phone.match(reg).toString();
  14.  
    if (result.substring(0, 3) == result.substring(5,8)) {
  15.  
    code += ',ABC**ABC';
  16.  
    }
  17.  
    }
  18.  
     
  19.  
    var reg = new RegExp("[\\d](?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){2}\\d[\\d](?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){2}\\d$", "g");
  20.  
    if (phone.match(reg) != null) {
  21.  
    var result = phone.match(reg).toString();
  22.  
    if (result.substring(1, 4) == result.substring(5, 8)) {
  23.  
    code += ',*ABC*ABC';
  24.  
    }
  25.  
    }
  26.  
     
  27.  
    var reg = new RegExp("(\\d)((?!\\1)\\d)\\2[\\d]", "g");
  28.  
    if (phone.match(reg) != null) {
  29.  
    var result = phone.match(reg).toString();
  30.  
    if (result.substring(0, 1) == result.substring(3, 4)) {
  31.  
    code += ',ABBA';
  32.  
    }
  33.  
    }
  34.  
     
  35.  
    var reg = new RegExp("(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){2}\\d{4}", "g");
  36.  
    if (phone.match(reg) != null) {
  37.  
    var result = phone.match(reg).toString();
  38.  
     
  39.  
    if (result.substring(0, 3) == result.substring(3, 6)) {
  40.  
    code += ',ABCABC';
  41.  
    }
  42.  
    }
  43.  
     
  44.  
    var reg = new RegExp("^(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){2}\\d{4}", "g");
  45.  
    if (phone.match(reg) != null) {
  46.  
    var result = phone.match(reg).toString();
  47.  
     
  48.  
    if (result.substring(0, 3) == result.substring(3, 6)) {
  49.  
    code += ',ABCABC*';
  50.  
    }
  51.  
    }
  52.  
     
  53.  
    var reg = new RegExp("(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){2}\\d{3}", "g");
  54.  
    if (phone.match(reg) != null) {
  55.  
    var result = phone.match(reg).toString();
  56.  
     
  57.  
    if (result.substring(0, 2) == result.substring(3, 5)) {
  58.  
    code += ',ABCAB';
  59.  
    }
  60.  
    }
  61.  
     
  62.  
     
  63.  
     
  64.  
    var reg = new RegExp("(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){3}\\d", "g");
  65.  
    if (phone.match(reg) != null) {
  66.  
    code += ',ABCD';
  67.  
    }
  68.  
     
  69.  
    var reg = new RegExp("(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){3}\\d{5}", "g");
  70.  
    if (phone.match(reg) != null) {
  71.  
    var result = phone.match(reg).toString();
  72.  
    if (result.substring(0, 4) == result.substring(4, 8)) {
  73.  
    code += ',ABCDABCD';
  74.  
    }
  75.  
    }
  76.  
     
  77.  
    var reg = new RegExp("(\\d)((?!\\1)\\d)\\1\\2\\1\\2", "g");
  78.  
     
  79.  
    if (phone.match(reg) != null) {
  80.  
    code += ',ABABAB';
  81.  
    }
  82.  
     
  83.  
    var reg = new RegExp("^(\\d)((?!\\1)\\d)\\1\\2\\1\\2", "g");
  84.  
     
  85.  
    if (phone.match(reg) != null) {
  86.  
    code += ',ABABAB*';
  87.  
    }
  88.  
     
  89.  
    var reg = new RegExp("(\\d)((?!\\1)\\d)\\1\\2", "g");
  90.  
    if (phone.match(reg) != null) {
  91.  
    code += ',ABAB';
  92.  
    }
  93.  
     
  94.  
     
  95.  
    var reg = new RegExp("^(\\d)((?!\\1)\\d)[\\d][\\d](\\d)((?!\\1)\\d)[\\d][\\d]", "g");
  96.  
    if (phone.match(reg) != null) {
  97.  
     
  98.  
    var result = phone.match(reg).toString();
  99.  
    if (result.substring(0, 2) == result.substring(4, 6)) {
  100.  
    code += ',AB**AB**';
  101.  
    }
  102.  
    }
  103.  
     
  104.  
    var reg = new RegExp("[\\d][\\d](\\d)((?!\\1)\\d)[\\d][\\d](\\d)((?!\\1)\\d)$", "g");
  105.  
    if (phone.match(reg) != null) {
  106.  
    var result = phone.match(reg).toString();
  107.  
    if (result.substring(2, 4) == result.substring(6, 8)) {
  108.  
    code += ',**AB**AB';
  109.  
    }
  110.  
    }
  111.  
     
  112.  
    var reg = new RegExp('([\\d])\\1{4,}', "g");
  113.  
     
  114.  
    if (phone.match(reg) != null) {
  115.  
    code +=',AAAAA';
  116.  
    }
  117.  
     
  118.  
     
  119.  
    var reg = new RegExp('(.)\\1{3}', "g");
  120.  
    if (phone.match(reg) != null) {
  121.  
    code +=',AAAA';
  122.  
    }
  123.  
     
  124.  
    var reg = new RegExp('(\\d)\\1\\1((?!\\1)\\d)', "g");
  125.  
    if (phone.match(reg) != null) {
  126.  
    code += ',AAAB';
  127.  
    }
  128.  
     
  129.  
    var reg = new RegExp('(.)\\1{2}', "g");
  130.  
    if (phone.match(reg) != null) {
  131.  
    code +=',AAA';
  132.  
    }
  133.  
     
  134.  
     
  135.  
     
  136.  
    var reg = new RegExp('(.)\\1{1}', "g");
  137.  
    if (phone.match(reg) != null) {
  138.  
    code +=',AA';
  139.  
    }
  140.  
     
  141.  
    //AABBB
  142.  
    var reg = new RegExp("(\\d)\1((?!\\1)\\d)\\2\\2", "g");
  143.  
    if (phone.match(reg) != null) {
  144.  
    code +=',AABBB';
  145.  
    }
  146.  
     
  147.  
    //AABB
  148.  
    var reg = new RegExp("(\\d)\\1((?!\\1)\\d)\\2", "g");
  149.  
     
  150.  
    if (phone.match(reg) != null) {
  151.  
    code +=',AABB';
  152.  
    }
  153.  
     
  154.  
    //AABCC
  155.  
    var reg = new RegExp("(\\d)\\1((?!\\1)\\d)((?!\\1)\\d)\\3", "g");
  156.  
    if (phone.match(reg) != null) {
  157.  
     
  158.  
    var result = phone.match(reg).toString();
  159.  
    if (result.substring(2, 3) != result.substring(0, 1) && result.substring(2, 3) != result.substring(3, 4)) {
  160.  
    code += ',AABCC';
  161.  
    }
  162.  
    }
  163.  
     
  164.  
    var reg = new RegExp("(\\d)\\1((?!\\1)\\d)\\2((?!\\1)\\d)\\3", "g");
  165.  
    if (phone.match(reg) != null) {
  166.  
    var result = phone.match(reg).toString();
  167.  
    if (result.substring(2, 4) != result.substring(0, 2) && result.substring(2, 4) != result.substring(4, 6)) {
  168.  
    code += ',AABBCC';
  169.  
    }
  170.  
    }
  171.  
     
  172.  
    var reg = new RegExp("^(\\d)\\1((?!\\1)\\d)\\2((?!\\1)\\d)\\3", "g");
  173.  
    if (phone.match(reg) != null) {
  174.  
    var result = phone.match(reg).toString();
  175.  
    if (result.substring(2, 4) != result.substring(0, 2) && result.substring(2, 4) != result.substring(4, 6)) {
  176.  
    code += ',AABBCC*';
  177.  
    }
  178.  
    }

匹配号码后4位为ABAB:

“^\d*(\d)(\d)\1\2$”

匹配号码后4位为AABB: 

“^\d*(\d)\1(\d)\2$” 

 

// ABBABB 

"^(\\d)(\\d)\\2\\1\\2\\2$"

// 4位以上 位递增或者递减(7890也是递增)

"(?:(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)|9(?=0)){2,}|(?:0(?=9)|9(?=8)|8(?=7)|7(?=6)|6(?=5)|5(?=4)|4(?=3)|3(?=2)|2(?=1)|1(?=0)){2,})\\d"


  1.  
    //匹配6位顺增
  2.  
    string pattern = "(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){5}\\d";
  3.  
     
  4.  
    //匹配6位顺降
  5.  
    pattern = "(?:9(?=8)|8(?=7)|7(?=6)|6(?=5)|5(?=4)|4(?=3)|3(?=2)|2(?=1)|1(?=0)){5}\\d";
  6.  
     
  7.  
    //匹配6位顺增或顺降
  8.  
    pattern = "(?:(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){5}|(?:9(?=8)|8(?=7)|7(?=6)|6(?=5)|5(?=4)|4(?=3)|3(?=2)|2(?=1)|1(?=0)){5})\\d";
  9.  
     
  10.  
    //匹配4-9位连续的数字
  11.  
    pattern = "(?:(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){3,}|(?:9(?=8)|8(?=7)|7(?=6)|6(?=5)|5(?=4)|4(?=3)|3(?=2)|2(?=1)|1(?=0)){3,})\\d";
  12.  
     
  13.  
    //匹配3位以上的重复数字
  14.  
    pattern = "([\\d])\\1{2,}";
  15.  
     
  16.  
    //匹配手机号码类
  17.  
    pattern = "(13[0-9]|15[0-9]|18[0-9])([\\d]{2,4}){2}";
  18.  
     
  19.  
    //匹配连同号如“112233”“222333”
  20.  
    pattern = "([\\d])\1{1,}([\\d])\\2{2,}"; //这个测试没有通过,要重新编写
  21.  
     
  22.  
    //匹配2233类型
  23.  
    pattern = "([\\d])\\1{1,}([\\d])\\2{1,}";

 

  1.  
    // 手机号、生日号、跟公司业务相关的号码
  2.  
    "^(0|13|15|18|168|400|800)[0-9]*$"
  3.  
    "^\\d{2}(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|3[01])$"
  4.  
    "^\\d*(1688|2688|2088|2008|5188|10010|10001|666|888|668|686|688|866|868|886|999)\\d*$"
  5.  
    // 重复号码,镜子号码
  6.  
    "^(<a>\\d)(\\d)(\\d)\\1\\2\\3$"
  7.  
    "^(\\d)(\\d)(\\d)\\3\\2\\1$"
  8.  
    // AABB
  9.  
    "^\\d*(\\d)\\1(\\d)\\2\\d*$"
  10.  
    // AAABBB
  11.  
    "^\\d*(\\d)\\1\\1(\\d)\\2\\2\\d*$"
  12.  
    // ABABAB
  13.  
    "^(\\d)(\\d)\\1\\2\\1\\2\\1\\2$"
  14.  
    // ABCABC
  15.  
    "^(\\d)(\\d)(\\d)\\1\\2\\3$"
  16.  
    // ABBABB
  17.  
    "^(\\d)(\\d)\\2\\1\\2\\2$"
  18.  
    // AABAAB
  19.  
    "^(\\d)\\1(\\d)\\1\\1\\2$"
  20.  
    // 4-8 位置重复
  21.  
    "^\\d*(\\d)\\1{2,}\\d*$"
  22.  
    // 4位以上 位递增或者递减(7890也是递增)
  23.  
    "(?:(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)|9(?=0)){2,}|(?:0(?=9)|9(?=8)|8(?=7)|7(?=6)|6(?=5)|5(?=4)|4(?=3)|3(?=2)|2(?=1)|1(?=0)){2,})\\d"
  24.  
    // 不能以 518 、918 结尾
  25.  
    "^[0-9]*(518|918)$"