/*** 判断密码是否符合规范(由数字,英文大小写字母和特殊符号组成 不含中文)* @author lvtao*/
public class CheckPassword {//数字public static final String REG_NUMBER = ".*\\d+.*";//小写字母public static final String REG_UPPERCASE = ".*[A-Z]+.*";//大写字母public static final String REG_LOWERCASE = ".*[a-z]+.*";//特殊符号public static final String REG_SYMBOL = ".*[~!@#$%^&*()_+|<>,.?/:;'\\[\\]{}\"]+.*";/*** 判断是否含有中文** @param password 密码* @return boolean*///basevo只是返回类型   自己需要啥类型 可以更改成对应的返回即可public static BaseVO checkPasswordRule(String password){//密码为空或者长度小于8位大于16位 则返回falseif (password == null) {return new BaseVO(AUTHENTICATION_FAIL_CODE,"密码不能为空");}if ( password.length() < 8 || password.length() > 16) {return new BaseVO(AUTHENTICATION_FAIL_CODE,"密码为8~16位之间");}if (isChinese(password)) {return new BaseVO(AUTHENTICATION_FAIL_CODE,"密码中不能含有中文");}int i = 0;//符合一个条件加1if (password.matches(REG_NUMBER)) i++;if (password.matches(REG_LOWERCASE)) i++;if (password.matches(REG_UPPERCASE)) i++;if (password.matches(REG_SYMBOL)) i++;//如果类型小于4 返回falseif (i  <= 3 ) {return new BaseVO(AUTHENTICATION_FAIL_CODE,"密码由数字,字母大、小写和特殊字符组成");}return null;
}/*** 判断是否含有中文** @param passWord 密码* @return boolean*/public static boolean isChinese(String passWord) {char[] c = passWord.toCharArray();for (int i = 0; i < c.length; i++) {Character.UnicodeBlock ub = Character.UnicodeBlock.of(c[i]);if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS|| ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS|| ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A|| ub == Character.UnicodeBlock.GENERAL_PUNCTUATION|| ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION|| ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {return true;}}return false;
}

}

判断密码是否由数字,大小写字母和特殊符号组成(排除中文)相关推荐

  1. jquery里用正则来验证密码,必须包含大小写字母,数字及特殊符号,或最少包含两种

    一:要求用正则来验证用户输入的密码,至少包含大小字字母,数字和特殊符号中两种,简单的说,就是验证用户输入的密码不能太简单. 乍一想,这种正则好像不太方便下手写,至少以前站长在验证用户输入的密码格式时, ...

  2. python 判断字符串是否为数字或字母

    一.常用的字符串分为四种情况: 1.单个字符串,有文字.数字.符号等,如:'1'.'可'.'-' 等. 2.纯数字符串,如:'111'.'-111'.'12.35'.'0.456' 等. 3.混合字符 ...

  3. php数字对应的大字母,PHP判断数字,字母,特殊符号,中文 - 米扑博客

    PHP 判断数字,字母,特殊符号,中文 代码如下: /** * 0 包含数字,字母,特殊符号 * @param unknown $str * @return 0 - 数字字母符号: 1 - 数字: 2 ...

  4. Java生成随机数:数字+大小写字母

    生成若干位的随机数 有数字+大小写字母组成 方法代码如下: /*** 随机数* @param place 定义随机数的位数*/public static String randomGen(int pl ...

  5. python判断字符是否是数字和字母_python判断字符是否为字母和数字

    在使用python语言中的字符串方法时,可以使用它们判断字符串中是否有字母或数字或其他的构成.下面利用几个实例说明字符串方法的用法,操作如下:云海天教程网,大量的免费python教程,欢迎在线学习!s ...

  6. php正则表达式验证必须包含数字、字母、特殊符号任意两种组合

    php正则表达式验证必须包含数字.字母.特殊符号任意两种组合 $password = '123456';if (preg_match("/^(?![0-9]+$)(?![a-z]+$)(?! ...

  7. java判断数字大小写_java判断字符串是否全部由数字,大小写字母,特殊符号组成...

    直接上代码,经过验证. package javaTest; import java.util.regex.Matcher; import java.util.regex.Pattern; public ...

  8. java判断字符串是否全部由数字,大小写字母,特殊符号组成

    直接上代码,经过验证. package javaTest;   import java.util.regex.Matcher; import java.util.regex.Pattern;   pu ...

  9. java 密码是字母和数字的组合_java正则表达式校验密码必须是包含大小写字母、数字、特殊符号的8位以上组合...

    本文最后更新于2019-10-25,已超过 1年没有更新,如果文章内容.图片或者下载资源失效,请留言反馈,我会及时处理,谢谢! 温馨提示:本文共1957个字,读完预计5分钟. 一.需求:密码必须是包含 ...

最新文章

  1. 我在硅谷工作的第四年:技术是怎么把信息变现的
  2. linux跟踪线程的方法:LWP和strace命令
  3. PHPStorm IDE 快捷键
  4. 从壹开始 [Admin] 之五 ║ 实现『按钮』级别权限配置
  5. 领域模型中的各种角色
  6. 【LeetCode】剑指 Offer 55 - I. 二叉树的深度
  7. 软件使用方法_视频录制软件进行电脑屏幕录像的使用方法
  8. python发送soap报文_python用http发送soap报文进行webservice接口调用
  9. 中小型网络工程设计与实现_小型网络如何实现经济可靠的设计和部署 (一)...
  10. 获取网络时间(国家标准时间)
  11. 当前计算机技术在制图,计算机技术在《机械制图》课程中的应用
  12. php显示服务器ipv6,php获取用户IPv4或IPv6地址的代码
  13. 软件推荐--Files2Folder
  14. 乐嘉首档脱口秀《夜问》开播变身“犀利帝”
  15. 区块链行业缺乏统一标准,成为金融新基建尚存距离
  16. 【总结-学习-提升】web应用为什么需要tomcat容器
  17. aec Gain 公式
  18. 舅妈的计算机课第2部,名著课 | 题:《简·爱》(二)
  19. 【实战】轻轻松松使用StyleGAN(一):创建令人惊讶的黄种人脸和专属于自己的老婆动漫头像
  20. 采用JSP+Servlet+JDBC完成的一个产品信息管理系统

热门文章

  1. Arduino开发板连接XBee模块的方法
  2. 计算机配件内存计入什么科目,机器配件应计入什么会计科目?
  3. 浅析基于二维轮廓线重构表面算法
  4. linux下readlink函数详解
  5. #1163 : 博弈游戏·Nim游戏(数学博弈)
  6. Framework学习之旅:Zygote进程
  7. linux怎么进入sftp命令行,Linux中SFTP命令
  8. 远程桌面全屏无法退出
  9. 根据离散点画直线_excel表格怎么画散点图画直线
  10. 【WCN685X】WCN685X hostapd 设置country码不生效问题分析及解决方案