工具类:

/*** 校验器:利用正则表达式校验邮箱、手机号等*/
public class Validator {/*** 正则表达式:验证用户名*/public static final String REGEX_USERNAME = "^[a-zA-Z0-9]{6,20}$";/*** 正则表达式:验证密码(字母+数字)* <p>* ^ 匹配一行的开头位置* (?![0-9]+$) 预测该位置后面不全是数字* (?![a-zA-Z]+$) 预测该位置后面不全是字母* [0-9A-Za-z] {8,16} 由8-16位数字或这字母组成* $ 匹配行结尾位置* 注:(?!xxxx) 是正则表达式的负向零宽断言一种形式,标识预该位置后不是xxxx字符。*/public static final String REGEX_PASSWORD = "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,15}$";/*** 正则表达式:验证手机号*/public static final String REGEX_MOBILE ="^((13[0-9])|(15[^4,\\D])|(16[0-9])|(18[0-9])|(17[0-9]))\\d{8}$";//public static final String    REGEX_MOBILE    = "^((13[0-9])|(15[^4,\\D])|(18[0,2,5-9])|(17[0-9]))\\d{8}$";//public static final String    REGEX_MOBILE    = "^(1[0-9][0-9])\\d{8}$";/*** 正则表达式:验证邮箱*///public static final String 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_EMAIL ="^[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.]*[a-zA-Z]$";;/*** 正则表达式:验证汉字*/public static final String REGEX_CHINESE = "^[\u4e00-\u9fa5],{0,}$";/*** 正则表达式:验证身份证*/public static final String REGEX_ID_CARD = "(^\\d{18}$)|(^\\d{15}$)";/*** 正则表达式:验证URL*/public static final String REGEX_URL = "http(s)?://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?";/*** 正则表达式:验证IP地址*/public static final String REGEX_IP_ADDR = "(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)";/*** 校验用户名** @return 校验通过返回true,否则返回false*/public static boolean isUsername(String username) {return Pattern.matches(REGEX_USERNAME, username);}/*** 校验密码** @return 校验通过返回true,否则返回false*/public static boolean isPassword(String password) {return Pattern.matches(REGEX_PASSWORD, password);}/*** 校验手机号** @return 校验通过返回true,否则返回false*/public static boolean isMobile(String mobile) {//Pattern p = Pattern.compile(MOBILE_PHONE_RE);//Matcher m = p.matcher(mobiles);//return m.matches();return Pattern.matches(REGEX_MOBILE, mobile);}/*** 校验邮箱** @return 校验通过返回true,否则返回false*/public static boolean isEmail(String email) {return Pattern.matches(REGEX_EMAIL, email);}/*** 校验汉字** @return 校验通过返回true,否则返回false*/public static boolean isChinese(String chinese) {return Pattern.matches(REGEX_CHINESE, chinese);}/*** 校验身份证** @return 校验通过返回true,否则返回false*/public static boolean isIDCard(String idCard) {if (idCard.toUpperCase().matches("(^\\d{15}$)|(^\\d{17}([0-9]|X)$)")) {return true;} else {return false;}}/*** 校验URL** @return 校验通过返回true,否则返回false*/public static boolean isUrl(String url) {return Pattern.matches(REGEX_URL, url);}/*** 校验IP地址*/public static boolean isIPAddr(String ipAddr) {return Pattern.matches(REGEX_IP_ADDR, ipAddr);}public static void main(String[] args) {String username = "fdsdfsdj";System.out.println(Validator.isUsername(username));System.out.println(Validator.isChinese(username));}/*** 校验车牌号** @return 校验通过返回true,否则返回false*/public static boolean isCarCode(String carCode) {String carnumRegex = "[\u4e00-\u9fa5]{1}[A-Z]{1}[A-Z_0-9]{5}";if (carCode.toUpperCase().matches(carnumRegex)) {return true;} else {return false;}}/*** 判断是否是车牌号*/public static boolean isCarNo(String CarNum) {//匹配第一位汉字String str = "京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼甲乙丙己庚辛壬寅辰戍午未申";if (!(CarNum == null || CarNum.equals(""))) {String s1 = CarNum.substring(0, 1);//获取字符串的第一个字符if (str.contains(s1)) {String s2 = CarNum.substring(1, CarNum.length());//不包含I O i o的判断if (s2.contains("I") || s2.contains("i") || s2.contains("O") || s2.contains("o")) {return false;} else {if (!CarNum.matches("^[\u4e00-\u9fa5]{1}[A-Z]{1}[A-Z_0-9]{5}$")) {return true;}}} else {return false;}} else {return false;}return false;}/*** * 验证输入的名字是否为“中文”或者是否包含“·”*/public static boolean isLegalName(String name){if (name.contains("·") || name.contains("•")){if (name.matches("^[\\u4e00-\\u9fa5]+[·•][\\u4e00-\\u9fa5]+$")){return true;}else {return false;}}else {if (name.matches("^[\\u4e00-\\u9fa5]+$")){return true;}else {return false;}}}}

Java 正则表达式对用户名、手机号、邮箱等验证相关推荐

  1. java自动生成用户名手机号邮箱IP地址等信息

    随机生成工具包 为供测试或者数据库模拟数据方便,想便利大家,只需引入此jar就可以mock数据 使用方式,引入一下依赖 <dependency><groupId>io.gith ...

  2. Java正则表达式较验手机号、邮箱

    import java.util.regex.Matcher;   import java.util.regex.Pattern;   public class PatternTest {   /** ...

  3. 使用 Java Mail 实现注册时邮箱激活验证功能

    最近在做毕设中实现注册功能时使用到了邮箱激活验证,在此总结下. 简介 JavaMail 是提供给开发者处理电子邮件相关的编程接口,它是 SUN 发布的用来处理 email 的 API ,它可以方便地执 ...

  4. 手机号/邮箱/身份证验证

    // 手机号验证 checkPhone: function (phone) { let reg = /^1[34578]\d{9}KaTeX parse error: Expected 'EOF', ...

  5. Java连接Redis模拟手机号短信验证

    需求分析: 输入手机号,点击发送后返回6位数字码,2分钟有效.用户输入验证码,点击验证,返回成功或失败,每个手机号每天只能输入3次,0点刷新次数. package com.wenbin.jedis;i ...

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

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

  7. Java正则表达式的语法与示例

    Java正则表达式的语法与示例 正则表达式是什么?用我的理解就是一个表达式.用来匹配,替换,判断字符串,之前业务就出现过判断返回值是否为邮箱. 以下内容来自于http://baike.xsoftlab ...

  8. Java正则表达式工具类

    import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory ...

  9. Java基础——正则表达式_校验QQ号码、手机号是否满足规则、邮箱格式验证

    有以下案例: 1 需求:校验qq号码.要求必须是5-15位数:0不能开头:非正则表达式实现:正则表达式实现 package com.xawl.demo;import java.util.Scanner ...

  10. java 正则表达式 手机号 邮箱(转载)

    转载地址:https://www.cnblogs.com/go4mi/p/6426215.html package com.modules.plateform.tool;import java.uti ...

最新文章

  1. P3952 NOIP2017 时间复杂度
  2. 中国×××的“超级无敌”玩法
  3. mysql server_id作用_在MySQL中设置`server-id`变量不起作用
  4. Intel Realsense C/C++ 转 python rs-align 使用深度颜色映射介绍空间流对齐的概念(转不起来,缺少信息)
  5. Django(补充CBV,FBV)
  6. RTMPdump(libRTMP) 源代码分析 7: 建立一个流媒体连接 (NetStream部分 2)
  7. java截取指定字符串中的某段字符
  8. 二叉树层序遍历递归与非递归_二叉树的遍历「递归、非递归」以及自己的感受
  9. django 1.8 官方文档翻译: 2-3-1 模型实例参考
  10. CSS教程--CSS 属性选择器
  11. 在 ASP.NET 2.0 中创建 Web 应用程序主题(一)
  12. 英语本科 国外跨计算机,跨专业考研需具备哪些条件,如英语,计算机的过级情况...
  13. App Store审核规则中文版(App审核被拒原因,苹果开发必备)
  14. 图的遍历(深度优先搜索)
  15. lenovo L480 进入bios_联想笔记本BIOS升级教程
  16. Java Mysql工具类封装
  17. [转][darkbaby]任天堂传——失落的泰坦王朝(中)
  18. 瑞士证交所主席认为发行加密瑞士法郎有益经济发展
  19. 电脑上传网速怎么测试软件,Win7如何测试电脑上传速度?
  20. aspose-words 解决Linux word转pdf 乱码和出现小方块问题

热门文章

  1. 【巷子】---flux---【react】
  2. matlab八节点六面体程序,八节点六面体等参数元计算程序
  3. Python爬虫基础:scrapy 框架—ltem和scrapy.Request
  4. 在win7下面安装ubuntu 16.04.4双系统
  5. 餐馆点菜系统python程序_Python写一个自动点餐程序
  6. SpringBoot 文件上传(可配置文件上传路径)
  7. 建立线上思维,创客匠人教你打造线上教学服务生态圈
  8. 扔掉代码,程序员月薪达到了80000
  9. 自信满满,一路前行!
  10. 华为手机 计算机 怎么传文件,华为手机如何与电脑互传文件?华为手机不用数据线和电脑互传文件...