最新手机号正则表达式验证方法(scala版)
今天在做运营商标签,其中通话和短信两部分标签需要区分手机号码和非手机号码,并且还要考虑手机号码前面的0086、86等前缀。
首先考虑到手机号码验证最方便的就是正则表达式,于是整理了一份最新的手机号码验证的正则表达式。
以下是三大运营商的号段分布:
*移动号段: 134,135,136,137,138,139,147,150,151,152,157,158,159,170,178,182,183,184,187,188
* 联通号段: 130,131,132,145,155,156,170,171,175,176,185,186
* 电信号段: 133,149,153,170,173,177,180,181,189
由三大运营商的号段分布的出正则表达式:
regex = "^((13[0-9])|(14[5,7,9])|(15[^4])|(18[0-9])|(17[0,1,3,5,6,7,8]))[0-9]{8}$"
有了正则表达式,核心问题就解决了,然后考虑去掉0086和86等前缀的问题,这里利用字符串的截取方法slice(),从最后一位开始,往前截取11位。
最终的代码如下:
def isMobileNumber(number: String): Boolean ={val regex = "^((13[0-9])|(14[5,7,9])|(15[^4])|(18[0-9])|(17[0,1,3,5,6,7,8]))[0-9]{8}$".rval length = number.lengthregex.findFirstMatchIn(number.slice(length-11,length)) != None}
欢迎关注我的公众号——数据杨公子。本公众号会分享包括但不限于大数据、数据治理、元数据管理、python 等方面的技术文章,主旨是和大家一起共同成长,用技术来认识我们这个数据的时代。
最新手机号正则表达式验证方法(scala版)相关推荐
- 手机号最新的正则表达式验证(截止2018-03-31)
转:https://www.jianshu.com/p/18a245600468 /*** 手机号最新的正则表达式验证* * 移动:134-139,147(上网卡),150-152,157-159,1 ...
- 正则表达式验证方法整理
第一次看正则表达式有些懵逼,以后肯定要用到,所以整理了网上常用的正则表达式验证方法,以备日后使用. 一.校验数字的表达式 数字:^[0-9]*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n ...
- Java正则表达式——最新手机号合法性验证
根据最新三大运行商手机号号段,编写的此手机号验证工具类 package com.utils;import java.util.regex.Matcher; import java.util.regex ...
- java 手机号验证_java最新手机号码正则验证方法
public static boolean isPhone(String phone) { String regex = "^((13[0-9])|(14[5,7,9])|(15([0-3] ...
- 最新手机正则表达式验证
转自:最新手机号码验证正则表达式 现有手机号段: 移动:134 135 136 137 138 139 147 148 150 151 152 157 158 159 172 178 182 183 ...
- 手机号正则表达式验证_想精通正则表达式 这几个正则表达式学习资料及工具你必须有!...
正则表达式不是什么开发语言,也不什么脚本语言,但是你在做项目开发的时候,离不开它.你可以把它理解过一种逻辑公式,正则表达式通常被用来检索.替换那些符合某个模式(规则)的文本.正则对刚入门的程序员,甚至 ...
- 手机号正则表达式验证_还不会正则表达式?看这篇!
前言 正则表达式是很多程序员,甚至是一些有了多年经验的开发者薄弱的一项技能.大家都很多时候都会觉得正则表达式难记.难学.难用,但不可否认的是正则表达式是一项很重要的技能,所有我将学习和使用正则表达式时 ...
- 最新手机号正则表达式,及生成程序
获取手机号段网址:https://www.jihaoba.com/tools/haoduan/ 先给截止于日期 2021-08-20的结果 String patternPHone="^1(( ...
- js手机号正则表达式验证
看到网上很多代码都很复杂,还包括以中文开头的86,17951,其实谁会填这么多,无非是检验一下他们是否位数对不对,开头有没有写错而已.下面我们从百度百科的手机号码历程来看:现在的手机号码段有联通.移动 ...
- java 手机号正则表达式验证
目前是截止2019年6月最新,适配各种手机号,满足常见号码验证 import java.util.regex.Matcher; import java.util.regex.Pattern; impo ...
最新文章
- 场景几何约束在视觉定位中的探索
- 肖仰华:基于知识图谱的用户理解
- 傅里叶变换的初级理解二
- 一次ajax多次回调结果,Ajax异步的回调函数执行了多遍
- Girls and Boys
- C++继承中的对象模型
- 源码分析:Java对象的内存分配
- Webpack实战(五):轻松读懂Webpack如何分离样式文件
- PAT乙级(1025 反转链表)
- 前后端分离的用户验证原理及Spring Boot + JWT的框架搭建(附完整的框架代码)之一
- 电脑端的mafsvr服务关掉_网吧才是电脑优化的精髓!学会3招你也不用羡慕网吧的流畅了...
- qpsk的映射过程_FPGA数字信号处理(28)QPSK星座映射与解映射
- error C2664: “StrCmpW”: 不能将参数 2 从“const char [12]”转换为“PCWSTR”
- 儿童节特刊 | 如何练好手眼协调能力(手眼标定详解,附源码)
- T31-DAY20(JWT的介绍和使用)
- 初识vue的使用和设计模式
- 网络安全红队常用的攻击方法及路径
- Latex之安装GBK字体
- MySQL基础知识——ALTER TABLE
- win10常用电脑快捷操作;gif工具推荐
热门文章
- html小写数字怎么转换大写,如何将数字123转化成大写的文字 一百二十三 或 一二三?...
- java quartz配置
- DisGeNet:疾病相关的基因与突变位点数据库
- python下载快手视频教程_python如何下载快手视频
- 1.30 fcntl函数
- Java中的关键字汇总(50个)
- SAI绘制波浪卷发教程
- 理发店收银系统php,理发店收银系统优缺点
- 东莞理工学院计算机学院论文,东莞理工学院本科生毕业设计(论文)重复率检测实施办法(试行)...
- 备考OCJP认证知识点总结(三)