^
最新密码验证正则表达式
2016年12月14日
正则表达式验证密码功能在项目中经常被使用到,但是很多朋友还是不大会使用密码正则表达式进行验证,本文小编为大家整理了php密码验证正则表达式、python密码强度正则,当然还有大家常用到的js正则表达式,希望大家喜欢。
刚开始复习一下,什么是正则表达式?
在编写处理字符串的程序或网页时,经常有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。
php密码验证正则表达式(8位长度限制)
python密码验证正则表达式
#encoding=utf-8 import re def checklen(pwd): return len(pwd)>=8 def checkContainUpper(pwd): pattern = re-compile('[A-Z]+') match = pattern.findall(pwd) if match: return True else: return False def checkContainNum(pwd): pattern = re-compile('[0-9]+') match = pattern.findall(pwd) if match: return True else: return False def checkContainLower(pwd): pattern = re-compile('[a-z]+') match = pattern.findall(pwd) if match: return True else: return False def checkSymbol(pwd): pattern = re-compile('([^a-z0-9A-Z])+') match = pattern.findall(pwd) if match: return True else: return False def checkPassword(pwd): #判断密码长度是否合法 lenOK=checklen(pwd) #判断是否包含大写字母 upperOK=checkContainUpper(pwd) #判断是否包含小写字母 lowerOK=checkContainLower(pwd) #判断是否包含数字 numOK=checkContainNum(pwd) #判断是否包含符号 symbolOK=checkSymbol(pwd) print(lenOK) print(upperOK) print(lowerOK) print(numOK) print(symbolOK) return (lenOK and upperOK and lowerOK and numOK and symbolOK) def main(): if checkPassword('Helloworld#123'): print('检测通过') else: print('检测未通过') if __name__ == '__main__': main()java密码验证正则表达式
/** * @ClassName: RexTest * @Description: TODO * @author BMR * @date 2016年3月28日 上午11:09:17 */ public class RexTest { /** * 正则表达式验证密码 * @param input * @return */ public static boolean rexCheckPassword(String input) { // 6-20 位,字母、数字、字符 //String reg = "^([A-Z]|[a-z]|[0-9]|[`-=[];,./~!@#$%^*()_+}{:?]){6,20}$"; String regStr = "^([A-Z]|[a-z]|[0-9]|[`~!@#$%^&*()+=|{}':;',\\\\[\\\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“'。,、?]){6,20}$"; return input.matches(regStr); } public static void main(String[] args){ System.out.println("rexCheckPassword is: "+ rexCheckPassword("14`~!@#$%^&*(\\)+=|{}")); }输出结果:
rexCheckPassword is: true
网友提出的问题:
正则表达式校验密码
1、密码必须由数字、字符、特殊字符三种中的两种组成;
2、密码长度不能少于8个字符;
满足以上两点,应该怎么实现?
(?!^\\d+$)不能全是数字
(?!^[a-zA-Z]+$)不能全是字母
(?!^[_#@]+$)不能全是符号(这里只列出了部分符号,可自己增加,有的符号可能需要转义)
.{8,}长度不能少于8位
合起来就是
(?!^\\d+$)(?!^[a-zA-Z]+$)(?!^[_#@]+$).{8,}
完整的js正则表达式:
正则表达式
匹配完整域名的正则表达式:
[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?
想系统学习的朋友可以继续阅读:正则表达式30分钟入门教程,进一步加深对正则表达式的认识。
系列文章1:最新手机号码、电话号码正则表达式
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
相关阅读