java 邮箱 电话号码 格式效验 后端

Java国际手机号正则校验 国际手机号正则校验 public enum MobileRegularExp { /*以下是项目可能设计到的市场*/ CN("中国", "^(\\+?0?86\\-?)?1[345789]\\d{9}$"), TW("台湾", "^(\\+?886\\-?|0)?9\\d{8}$"), HK("香港", "^(\\+?852\\-?)?[569]\\d{3}\\-?\\d{4}$"), MS("马来西亚", "^(\\+?6?01){1}(([145]{1}(\\ 阅读详情

首先写一个枚举Config类,作为基类。

package com.techen.ami.config;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public enum MobileRegularExp {

    CN("中国","^(\\+?0?86\\-?)?1[345789]\\d{9}$"),
    AU("澳大利亚","^(\\+?61|0)4\\d{8}$"),
    TW("台湾","^(\\+?886\\-?|0)?9\\d{8}$"),
    HK("香港","^(\\+?852\\-?)?[569]\\d{3}\\-?\\d{4}$"),
    MS("马来西亚","^(\\+?6?01){1}(([145]{1}(\\-|\\s)?\\d{7,8})|([236789]{1}(\\s|\\-)?\\d{7}))$"),
    PH("菲律宾","^(\\+?0?63\\-?)?\\d{10}$"),
    TH("泰国","^(\\+?0?66\\-?)?\\d{10}$"),
    SG("新加坡","^(\\+?0?65\\-?)?\\d{10}$"),
    /* 以上是项目可能设计到的市场,以下是其他国家的手机号校验正则,欢迎补充*/
    DZ("阿尔及利亚", "^(\\+?213|0)(5|6|7)\\d{8}$"),
    SY("叙利亚","^(!?(\\+?963)|0)?9\\d{8}$"),
    SA("沙特阿拉伯","^(!?(\\+?966)|0)?5\\d{8}$"),
    US("美国","^(\\+?1)?[2-9]\\d{2}[2-9](?!11)\\d{6}$"),
    CZ("捷克共和国","^(\\+?420)? ?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{3}$"),
    DE("德国","^(\\+?49[ \\.\\-])?([\\(]{1}[0-9]{1,6}[\\)])?([0-9 \\.\\-\\/]{3,20})((x|ext|extension)[ ]?[0-9]{1,4})?$"),
    DK("丹麦","^(\\+?45)?(\\d{8})$"),
    GR("希腊","^(\\+?30)?(69\\d{8})$"),
    GB("英国","^(\\+?44|0)7\\d{9}$"),
    CA("加拿大","^(\\+?1)?[2-9]\\d{2}[2-9](?!11)\\d{6}$"),
    IN("印度","^(\\+?91|0)?[789]\\d{9}$"),
    NZ("新西兰","^(\\+?64|0)2\\d{7,9}$"),
    ZA("南非","^(\\+?27|0)\\d{9}$"),
    ZM("赞比亚","^(\\+?26)?09[567]\\d{7}$"),
    ES("西班牙","^(\\+?34)?(6\\d{1}|7[1234])\\d{7}$"),
    FI("芬兰","^(\\+?358|0)\\s?(4(0|1|2|4|5)?|50)\\s?(\\d\\s?){4,8}\\d$"),
    FR("法国","^(\\+?33|0)[67]\\d{8}$"),
    IL("以色列","^(\\+972|0)([23489]|5[0248]|77)[1-9]\\d{6}"),
    HU("匈牙利","^(\\+?36)(20|30|70)\\d{7}$"),
    IT("意大利","^(\\+?39)?\\s?3\\d{2} ?\\d{6,7}$"),
    JP("日本","^(\\+?81|0)\\d{1,4}[ \\-]?\\d{1,4}[ \\-]?\\d{4}$"),
    NO("挪威","^(\\+?47)?[49]\\d{7}$"),
    BE("比利时","^(\\+?32|0)4?\\d{8}$"),
    PL("波兰","^(\\+?48)? ?[5-8]\\d ?\\d{3} ?\\d{2} ?\\d{2}$"),
    BR("巴西","^(\\+?55|0)\\-?[1-9]{2}\\-?[2-9]{1}\\d{3,4}\\-?\\d{4}$"),
    PT("葡萄牙","^(\\+?351)?9[1236]\\d{7}$"),
    RU("俄罗斯","^(\\+?7|8)?9\\d{9}$"),
    RS("塞尔维亚","^(\\+3816|06)[- \\d]{5,9}$"),
    R("土耳其","^(\\+?90|0)?5\\d{9}$"),
    VN("越南","^(\\+?84|0)?((1(2([0-9])|6([2-9])|88|99))|(9((?!5)[0-9])))([0-9]{7})$");

    /**
     * 国际名称
     */
    private String national;

    /**
     * 正则表达式
     */
    private String regularExp;

    public String getNational() {
        return national;
    }

    public void setNational(String national) {
        this.national = national;
    }

    public String getRegularExp() {
        return regularExp;
    }

    public void setRegularExp(String regularExp) {
        this.regularExp = regularExp;
    }

    MobileRegularExp(String national, String regularExp) {
        this.national = national;
        this.regularExp = regularExp;
    }

    //电话号码格式检查
    public static boolean isMobileNumber(String mobileNumber) {
        boolean isMobileNumber = false;
        for (MobileRegularExp regularExp : MobileRegularExp.values()) {
            Pattern pattern = Pattern.compile(regularExp.getRegularExp());
            Matcher matcher = pattern.matcher(new StringBuilder().append(mobileNumber).toString());
            if (matcher.matches()) {
                isMobileNumber = true;
                // 枚举中把最常用的国际区号拍在前面可以减少校验开销
                break;
            }
        }
        return isMobileNumber;
    }
}

其次,写一个方法。 效验电话号码和邮箱, 哪里用哪里调。

    //格式效验 邮箱 电话号 格式检查
    @Override
    public boolean beforeFormatValidation(Map<String, Object> paraMap) {
        if (paraMap.containsKey("email")) {
            String value = paraMap.get("email").toString();
            if (!value.matches("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*")) {
                return false;
            }
        }
        if (paraMap.containsKey("telephone")) {
            String value = paraMap.get("telephone").toString();
            if (value.length() > 11) {
                return false;
            }
            //只对国内电话号进行效验时 ,请使用下面两行代码,并注释掉第三行代码。
            //String regex = "^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\\d{8}$";
            //if (!Pattern.matches(regex, value)){return false;}
            if (!MobileRegularExp.isMobileNumber(value)) {
                return false;
            }
        }
        return true;
    }

结束。

java验证email、电话号码等格式 包括全面的常见的各种格式在验证,希望大家可以交流学习 立即下载

相关推荐

java 使用正则表达式验证电话号码的格式

java 使用正则表达式验证电话号码的格式 java 使用正则表达式验证电话号码的格式

QQ邮箱验证,附完整代码,可根据自己需求配置数据库存储

效果图: 实现代码步骤如下: 导入POM.XML文件 <!--mail--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> 获取邮箱授权码

XuDream的博客 6737

java做的一个简单的邮箱格式验证

我自己随便写的一个邮箱验证的,有需要的看看 我是冰哥!

Java校验手机号和邮箱格式

校验手机号正则表达式: ^((13[0-9])|(14[5,7,9])|(15([0-3]|[5-9]))|(16[5,6])|(17[0-8])|(18[0-9])|(19[1、5、8、9]))\d{8}$ 方法: /** * 校验手机号 * * @param tel 输入参数 * @return boolean * @author GJT 2022-05-11 */ @Test public static boolean.

qq_44860722的博客 1030

国家代码、区号码Json文件

我们在注册时,可以选择手机号注册,而手机号是有国家或地区码归属的国家代码,区号码,手机区号Json文件。

华为防火墙USG6000V---内网访问外网---外网访问内网服务器(NAT服务器)示例配置

华为防火墙USG6000V示例配置,展示了访问防火墙、内网服务器、外网和外网访问内网服务器(NAT服务器)的配置。

lehe99的专栏 2万+

Java开发中自定义校验注解

在日常的开发中可能会对手机号、邮箱、身份证号的合法性进行校验,然而每次使用if语句调用校验函数进行校验又显得过于麻烦,这时候自定义校验注解用处就很大了。 1、需要的依赖 <!-- hibernate validator --> <dependency> <groupId>javax.validation</groupId> ...

雲浩的博客 3736

Sen+MK趋势分析

Sen+MK趋势分析

地理研究与算法的博客 4万+

java 正则表达式效验_常用Java字段的正则校验

正则表达式:单个字符的匹配规则如下:多个字符的匹配规则如下:复杂匹配规则主要有:常用正则表达式校验规则:一.校验数字的表达式1.数字:^[0-9]*$2.n位的数字:^\d{n}$3.至少n位的数字:^\d{n,}$4.m-n位的数字:^\d{m,n}$5.零和非零开头的数字:^(0|[1-9][0-9]*)$6.非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2...

weixin_39624071的博客 620

调用IP核、移植/复制IP核以及解决IP核被锁住/红锁问题(基于vivado)

解决不同工程IP核之间复制调用以及IP核红锁问题,让开发更简单!

weixin_44502554的博客 1万+

本地Qwen + ComfyUI 制作AI漫剧完整保姆级教程(2026年3月最新版)

本文介绍了一个零成本、本地化AI漫剧制作方案,整合Qwen大模型和ComfyUI工作流。Qwen负责剧本创作、分镜设计和提示词生成,ComfyUI处理图像生成、角色一致性保持和动态视频制作。该方案支持8GB显存设备运行(推荐12GB),包含详细安装指南和完整制作流程:从Ollama安装Qwen模型,到ComfyUI配置及必备节点安装,再到分镜生成、角色固定、批量出图和视频合成。文章还提供了常见问题解决方案和优化技巧,全流程1-2小时即可完成3分钟竖屏漫剧制作,适合新手和日更创作者。

posstos的博客 5536

java 正则表达式效验_java 正则表达式验证

packagecom.fsti.icop.util.regexp;importjava.util.regex.Matcher;importjava.util.regex.Pattern;public final classRegExpValidatorUtils {/*** 验证邮箱**@param待验证的字符串*@return如果是符合的字符串,返回 true ,否则为 false */publ...

weixin_35565522的博客 287

射频测试基础知识总结

表示可以辐射到空间的电磁频率,频率范围从300KHz~110GHz之间,射频简称RF,是高频交流变化电磁波的简称,其每秒变化小于1000次被称为低频电流,超过10000次的称为高频电流,而射频就是这种高频电流。为了确保天线接收的信号能够在接收机的最后一级被正确的恢复,一个好的低噪音放大器需要在放大信号的同时产生尽可能低的噪音以及失真。两种,带内试验的范围也有一定的差别,比如,带内试验主要是检测信号的质量,如功率、频谱宽度、调制质量,而带外测试的是信号的杂散、谐波,主要是看对频带之外的干扰有多大。

cny70的博客 9627

手机号码测试用例java_“邮箱”“验证码”“手机号码”输入框测试用例

一:邮箱输入框1:不输入任何字符2:输入中文空格3:输入英文空格4:字符串中没有@和点 例如:huiyanni163com5:字符串中有@没有点 例如:huiyanni@163com6:字符串中没有@有点8:@和点都存在9:第一个字符串味@ 例如:@163.com10:@和点之间没有字符串 例如:huiyanni@.com11:字符串之后以为是点 例如:huiyanni@163com...

weixin_33305027的博客 3864

模拟IC设计实战:折叠式共源共栅放大器的参数优化与噪声抑制

本文深入探讨了折叠式共源共栅放大器的核心设计要点。针对低电压下增益与输出摆幅的矛盾,文章详细阐述了从套筒式结构转向折叠式结构的必要性,并重点分析了其参数优化与噪声抑制的实战方法。通过手把手的参数计算流程,指导如何平衡增益、带宽、摆幅与功耗。同时,深入剖析了噪声来源,强调了采用PMOS输入对管以抑制1/f噪声,并提供了针对共栅管及电流镜的噪声优化策略,是模拟IC设计中高性能放大器设计的实用指南。

vv45678的博客 977

# ubuntu 系统使用 yum命令报错 There are no enabled repos.Run “yum repolist all“ to see the repos you have...

# ubuntu 系统使用 yum命令报错 There are no enabled repos.Run "yum repolist all" to see the repos you have.You can enable repos with yum-config-manager --enable

段子手168的博客 6680

常用的正则表达式--Java

常用的正则表达式--Java 2011年08月01日   是不是含有特殊字符 StringregEx="^.*[~|!|#|$|%|^|&|*|(|)|+|=|\\[|\\]|{|}|;|'|:|\"| ,|?|/|\\\\]+.*$"; 验证是不是邮箱 StringemailRegex="(^[_a-zA-Z0-9\\-]+(\\.[_a-zA-Z0-9\\-]*)*@[_a-zA-Z...

spv53spv 91

YOLOv5 实现 10 种热力图可视化方式教程 | GradCAM XGradCAM ScoreCAM LayerCAM HiResCAM EigenCAM....

基于梯度计算类激活图,是最经典的热力图生成方法之一。Grad-CAM的改进版,通过引入梯度加权的方式,提高了热力图的定位精度。基于类别的得分计算类激活图,对噪声具有更强的鲁棒性。基于特定层的特征图计算类激活图,可以灵活选择不同的层进行分析。通过上采样将低分辨率的特征图恢复到原始图像大小,提高了热力图的分辨率。基于特征图的特征向量进行PCA降维,得到更简洁的热力图。对Grad-CAM的进一步改进,通过加权平均的方式,提高了热力图的质量。基于积分梯度的方法,可以解释模型对输入的每个特征的贡献。

weixin_39818775的博客 2374

Js正则校验

【代码】Js正则校验。

龘 1171

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

JS函数验证总结

//去除左侧空格function LTrim(str){ return str.replace(/^\s*/g,"");} //去右空格function RTrim(str){ return str.replace(/\s*$/g,"");} //去掉字符串两端的空格function trim(str){ return str.replace(/(^\s*)|(\s*$)/g, "");} ...

weixin_34377065的博客 92

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

IT论坛测试

IT论坛项目测试报告

m0_59952648的博客 637

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

java校验手机号和邮箱_利用Java正则表达式校验邮箱与手机号

import java.util.regex.matcher;import java.util.regex.pattern;public class checkmobileandemail {/*** 验证邮箱地址是否正确* @param email* @return*/public static boolean checkemail(string email){boolean flag = fa...

weixin_35740588的博客 213

java 注解校验说明

java 注解校验说明

weixin_43778043的博客 1331

java中对于邮箱和手机号的校验

/** * 对手机号与邮箱的简单校验 * @author 闵渭凯 2018年5月9日 */ public class checkUtil { /** * 邮箱校验 * * @param email * @return */ public static boolean isEmail(String email) { try { // 正常邮箱 //...

影落离风 3748

java使用正则表达式判断手机号,固定电话,身份证,邮箱,url,车牌号,日期,ip地址,mac,人名等

简介   1. 在实际项目中可能会遇到需要判断一些常用的比较有规则性的字符串是否正确,比如手机号、身份证、邮箱、车牌号等;   2. 使用传统的java逻辑语句去逐一判断往往得不到想要的效果,不仅代码多,而且速度也慢;   3. 所以,我们一般都会使用正则表达式去对这些字符串进行判断,下面介绍常用的一些正则表达式的字符串判断写法; 项目实践 import java.util.regex

alan_liuyue的博客 6013

@requestparam注解的作用_Java原生参数校验注解满足不了需求?来自己写一个

上一篇介绍了一个Java原生参数校验注解的使用https://www.toutiao.com/i6734117419129766407/在有些情况下官方定义的注解并不能满足项目的实际需要,因此有时候得定义自己的参数注解自定义参数注解1. 比如我们来个 自定义身份证校验 注解这个注解是作用在Field字段上,运行时生效,触发的是IdentityCardNumber这个验证类。message 定制化的...

weixin_39843151的博客 489
上一篇: rabbitmq中对DIRECT和TOPIC路由的记录
下一篇: Java 天气接口 天气查询
libingbojava
博客等级 码龄9年 64粉丝 111原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值