首先写一个枚举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;}
}

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

    //格式效验 邮箱 电话号 格式检查@Overridepublic 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 邮箱 电话号码 格式效验 后端相关推荐

  1. ASP用正则验证邮箱地址手机号码电话号码格式

    经常需要验证邮箱地址,手机号码,电话号码等.在这儿把ASP中的正则验证实现记录一下 Function validate(ByVal str,ByVal number) Dim temp,reg Set ...

  2. java邮箱地址正则表达式_JAVA 电子邮箱格式验证,使用正则表达式

    正则表达式 正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),能够用来检查一个串是否含有某种子串.将匹配的子串替换或者从某个串中取出符合某个条件的子串等. ...

  3. java是什么格式_是java格式

    错误:编码GBK的不可映射字符的解决办法 最近在重新补javaSE的基础,编辑器编写完代码以后,在控制台运行代码段的时候,出现了以下的错误提示:错误:编码GBK的不可映射字符 在通过查询谷哥和度娘以后 ...

  4. java将前端传给后端的文字写入到word中

    java将前端传给后端的文字写入到word中 用户个人记录使用 前端代码 <!DOCTYPE html> <html lang="en"><head& ...

  5. java web前端哪个城市,Java Web 是前端还是后端

    Java Web 是前端还是后端 Java Web 是前端还是后端? Java Web是属于后端,Java Web就是用Java技术开发的Web应用,而Java是一种可以编写跨平台应用软件.完全面向对 ...

  6. java 导出csv 格式,java导出csv格式文件的方法

    这篇文章主要为大家详细介绍了java导出csv格式文件的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 导出csv格式文件的本质是导出以逗号为分隔的文本数据 imp ...

  7. 读取/书写Java的XML格式properties文件

    转载自  读取/书写Java的XML格式properties文件 在JDK5中,properties文件的格式可以由XML构成,这里给出了一个读取/书写XML格式properties文件的例子. 因为 ...

  8. java 换行 运算符格式_Java代码样式运算符换行格式

    java 换行 运算符格式 上周,我发现了什么决定了我在较长时间里一直在努力解决的问题的决定:是否放置&& , ||之类的运算符 或+在同一行或下一行. 在构造布尔表达式或隐含字符串时 ...

  9. java 解析日期格式_日期/时间格式/解析,Java 8样式

    java 解析日期格式 自Java 几乎 开始以来,Java开发人员就通过java.util.Date类(自JDK 1.0起)和java.util.Calendar类(自JDK 1.1起 )来处理日期 ...

  10. [转载] Java中日期格式转换

    参考链接: Java中的类型转换和示例 Code: /**     * 字符串转换为java.util.Date<br>     * 支持格式为 yyyy.MM.dd G 'at' hh: ...

最新文章

  1. Stroke filter: 一种用于OCR预处理的文字滤波器
  2. CVPR 2018 | TVNet:可端到端学习视频的运动表征
  3. 政策推动加速5G发展 全球统一标准成大势所趋
  4. CORS(跨域资源共享)
  5. leetcode 92 python
  6. JS实现监控微信小程序
  7. Python网络编程之socketserver实现多并发
  8. ACL Findings | 任务共舞,小样本场景下的多任务联合学习方法初探
  9. Identity Server 4 - Hybrid Flow - MVC客户端身份验证
  10. win下使用VM虚拟机安装Linux系统
  11. Atitit path query 路径查询语言 数据检索语言 目录 1.1. List map spel 1 1.2. Html数据 》》Css选择符 1 1.3. Json 》map》
  12. redis设计与实现读书笔记(一)
  13. 豆丁网免费下载软件(冰点非常好用)
  14. eclipse使用教程(图文)
  15. 微信通话服务器有录音保存吗,微信语音通话如何录音保存并回放
  16. html 倒计时 插件,jQuery倒计时插件leftTime.js
  17. w ndows默认截图工具,windows截图工具快捷键
  18. 评卷系统-答题卡制作参考网站
  19. 转载TortoiseSVN的使用详解2(http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407610.html)
  20. 重磅!网页版 VSCode 来了!

热门文章

  1. 做“合规”的数据处理者 | 一文图解《网络数据安全管理条例》
  2. 测试网络连接速度 http://www.phoenixtv.com.cn/home/fhkp/testspeed.htm
  3. ELF文件格式, ELF文件是什么,里面包含什么内容
  4. 生产者消费者的几种写法
  5. qcon_从QCon伦敦2009中学到的主要知识点和教训
  6. 华为荣耀c4刷入linux系统,华为荣耀畅玩4C移动4G(CHM-TL00 Android 4.4)刷Recovery教程
  7. SequoiaDB巨杉数据库-JDBC驱动
  8. 使用Python对视频任意矩形区域进行裁剪
  9. 东北大学计算机BAT,基于BAT-OOPN方法的污染物排放量化模型研究
  10. dfuse 现在正式面向商业部署