判断手机号正则表达式,验证手机号的正则
1、目前来源:下面就是简单的爪哇岛工具类,主要的还是工具类中的正则表达式,原来的工具来来源的网上,在2022年-02月我手动修改为最新的中国大陆手机号检测工具类。
具体修改路径或方法:
根据百度百科或者去运营商官网查询号段,然后进行修改即可:我这里使用的百度百科手机号
2022年-02月的状态(注意时间哦!)
2、实现检测类
导入Java。util。正则表达式。matcher
导入Java。util。正则表达式。图案;
导入Java。util。正则表达式。patternsynctaxexception
* @作者:黄艺博
* @日期:2022/2/21 17:57
* @描述:手机号正则判断工具类
公共类PhoneFormatCheckUtil {
* ^ 匹配输入字符串开始的位置
* \d匹配一个或多个数字,其中\要转义,所以是\\d
* $ 匹配输入字符串结尾的位置
//香港手机号
私有静态最终模式hk _ pattern=pattern.compile(^(5689)\\d{7}$);
//大陆手机号
私静终格局China _ pattern=pattern.compile(^((13[0-9])(14[0,1,4-9])(15[0-3,5-9])(16[2,5,6,7])(17[0-8])(18[0-9])(19[0-3,5-9]))\\d{8}$);
//正整数
私有静态最终模式NUM _ Pattern=模式编译(“[0-9]”);
* 大陆号码或香港号码均可
公共静态布尔值isPhoneLegal(字符串str)抛出PatternSyntaxException {
return isChinaPhoneLegal(str) ishkphonelegal(str);
* 大陆手机号码11位数,匹配格式:前三位固定格式后8位任意数
* 此方法中前三位格式有:
* 13 任意数
* 145,147,149
* 15 除四的任意数(不要写^4,这样的话字母也会被认为是正确的)
* 166
* 17 3,5,6,7,8
* 18 任意数
* 198,199
公共静态布尔型isChinaPhoneLegal(字符串str)抛出PatternSyntaxException {
matcher m=中国_模式。matcher(str);
返回m . matches()。
* 香港手机号码8位数,5689开头七位任意数
公共静态布尔ishkphoneelegal(字符串str)抛出PatternSyntaxException {
matcher m=HK _ pattern。matcher(str);
返回m . matches()。
* 判断是否是正整数的方法
公共静态布尔值是数字(字符串String){
返回NUM_PATTERN.matcher(字符串).匹配();
}
3、账户相关属性验证工具
/**
* @作者:黄艺博
* @日期:2022/2/24 18:28
* @描述:账户相关属性验证工具
公共类AccountValidatorUtil {
* 正则表达式:验证用户名
公共静态最终字符串regex _用户名=^[a-za-z]\\w{5,20}$;
* 正则表达式:验证密码
public static final string regex _ password=^[a-za-z0-9]{6,20}$;
* 正则表达式:验证手机号
public static final string regex _ mobile=^((13[0-9])(14[0,1,4-9])(15[0-3,5-9])(16[2,5,6,7])(17[0-8])(18[0-9])(19[0-3,5-9]))\\d{8}$;
* 正则表达式:验证邮箱
公共静态最终字符串regex _ email=^([a-z0-9a-z][- \ \ .]?)[a-z0-9A-Z]@([a-z0-9A-Z](-[a-z0-9A-Z])?\\.)[a-zA-Z]{2,} $ ;
* 正则表达式:验证汉字
public static final string regex _ Chinese=^[\u4e00-\u9fa5],{0,}$;
* 正则表达式:验证身份证
公共静态最终字符串regex _ id _ card=(^\\d{18}$)(^\\d{15}$);
* 正则表达式:验证统一资源定位器
public static final String REGEX _ URL= http(s)?//([\\w-] \\ .)[\\w-] (/[\\w-./?%=]*)?;
* 正则表达式:验证互联网协议(互联网协议)地址
公共静态最终字符串REGEX _ IP _ ADDR=(25[0-5] 2[0-4]\ \ d [0-1]\ \ d { 2 } [1-9]?\ \ d);
* 校验用户名
* @param用户名
* @返回校验通过返回没错,否则返回错误的
公共静态布尔isUsername(字符串用户名){
返回pattern . matches(REGEX _用户名,用户名);
* 校验密码
* @param密码
* @返回校验通过返回没错,否则返回错误的
公共静态布尔isPassword(字符串密码){
返回Pattern.matches(REGEX_PASSWORD,PASSWORD);
* 校验手机号
* @param mobile
* @返回校验通过返回没错,否则返回错误的
公共静态布尔isMobile(字符串移动){
返回Pattern.matches(REGEX_MOBILE,MOBILE);
* 校验邮箱
* @param电子邮件
* @返回校验通过返回没错,否则返回错误的
公共静态布尔isEmail(字符串电子邮件){
返回Pattern.matches(REGEX_EMAIL,EMAIL);
* 校验汉字
* @param中文
* @返回校验通过返回没错,否则返回错误的
公共静态布尔中文(字符串中文){
返回pattern . matches(REGEX _ China,中文);
* 校验身份证
* @param idCard
* @返回校验通过返回没错,否则返回错误的
公共静态布尔isIDCard(字符串id卡){
返回Pattern.matches(REGEX_ID_CARD,ID CARD);
* 校验统一资源定位器
* @param url
* @返回校验通过返回没错,否则返回错误的
公共静态布尔isUrl(字符串url) {
返回Pattern.matches(REGEX_URL,URL);
* 校验互联网协议(互联网协议)地址
* @param ipAddr
* @返回
公共静态布尔isIPAddr(字符串ipAddr) {
返回Pattern.matches(REGEX_IP_ADDR,IP地址);
}
参考:
https://www.cnblogs.com/niunafei/p/13176226.html
https://www.cnblogs.com/go4mi/p/6426215.html
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。