最新密码验证正则表达式_正则表达式

正则表达式验证密码功能在项目中经常被使用到,但是很多朋友还是不大会使用密码正则表达式进行验证,本文小编为大家整理了php密码验证正则表达式、python密码强度正则,当然还有大家常用到的js正则表达式,希望大家喜欢。

刚开始复习一下,什么是正则表达式?
在编写处理字符串的程序或网页时,经常有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。

php密码验证正则表达式(8位长度限制)

<?php
//密码验证
$password = "zongzi_Abc_oo13a2";
$n = preg_match_all("/^[a-zA-Z\d_]{8,}$/",$password,$array);
//长度是8或更多
var_dump($array);
?>

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-z]+$)(?!\d+$)(?![!@#$%^&*]+$)(?![a-zA-z\d]+$)(?![a-zA-z!@#$%^&*]+$)(?![\d!@#$%^&*]+$)[a-zA-Z\d!@#$%^&*]+$
   
    
//中:字母+数字,字母+特殊字符,数字+特殊字符
     ^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&*]+$)[a-zA-Z\d!@#$%^&*]+$

//弱:纯数字,纯字母,纯特殊字符
^(?:\d+|[a-zA-Z]+|[!@#$%^&*]+)$

//校验是否全由数字组成

function isDigit(s)
{
var patrn=/^[0-9]{1,20}$/;
if (!patrn.exec(s)) return false
return true
}

//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串
function isRegisterUserName(s)
{
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
if (!patrn.exec(s)) return false
return true
}

function isRegisterUserName(s)
{
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
if (!patrn.exec(s)) return false
return true
}

//校验用户姓名:只能输入1-30个以字母开头的字串
Javascript代码
function isTrueName(s)
{
var patrn=/^[a-zA-Z]{1,30}$/;
if (!patrn.exec(s)) return false
return true
}
}} 

//校验密码:只能输入6-20个字母、数字、下划线
function isPasswd(s)
{
var patrn=/^(\w){6,20}$/;
if (!patrn.exec(s)) return false
return true
} 

//校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”
function isTel(s)
{
//var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/;
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
} 

//校验手机号码:必须以数字开头,除数字外,可含有“-”
function isMobil(s)
{
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
} 

//校验邮政编码
function isPostalCode(s)
{
//var patrn=/^[a-zA-Z0-9]{3,12}$/;
var patrn=/^[a-zA-Z0-9 ]{3,12}$/;
if (!patrn.exec(s)) return false
return true
} 

//校验搜索关键字
function isSearch(s)
{
var patrn=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;'\,.<>/?]{1}[^`~!@$%^&()+=|\\\]
 [\]\{\}:;'\,.<>?]{0,19}$/;
if (!patrn.exec(s)) return false
return true
} 

function isIP(s) //by zergling
{
var patrn=/^[0-9.]{1,20}$/;
if (!patrn.exec(s)) return false
return true
} 

正则表达式

^\\d+$  //非负整数(正整数 + 0)
^[0-9]*[1-9][0-9]*$  //正整数
^((-\\d+)|(0+))$  //非正整数(负整数 + 0)
^-[0-9]*[1-9][0-9]*$  //负整数
^-?\\d+$    //整数
^\\d+(  //非负浮点数(正浮点数 + 0)
^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$ 
//正浮点数
^((-\\d+(  //非正浮点数(负浮点数 + 0)
^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
//负浮点数
^(-?\\d+)(  //浮点数
^[A-Za-z]+$  //由26个英文字母组成的字符串
^[A-Z]+$  //由26个英文字母的大写组成的字符串
^[a-z]+$  //由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$  //由数字和26个英文字母组成的字符串
^\\w+$  //由数字、26个英文字母或者下划线组成的字符串
^[\\w-]+(    //email地址
^[a-zA-z]+://(  //url
^[A-Za-z0-9_]*$

匹配完整域名的正则表达式:
[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?

想系统学习的朋友可以继续阅读:正则表达式30分钟入门教程,进一步加深对正则表达式的认识。

系列文章1:最新手机号码、电话号码正则表达式

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索密码验证正则表达式、验证密码的正则表达式、js密码验证正则表达式、jq密码验证正则表达式、用正则表达式验证密码,以便于您获取更多的相关知识。

时间: 2024-12-24 16:25:07

最新密码验证正则表达式_正则表达式的相关文章

js 常用正则表达式表单验证代码_正则表达式

正则表达式使用详解 简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具.其作用如下:测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式.这称为数据有效性验证.替换文本.可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字.根据模式匹配从字符串中提取一个子字符串.可以用来在文本或输入字段中查找特定文字. 基本语法 在对正则表达式的功能和作用有了初步的了解之后,我们就来具体看一下正则表

JS常用正则表达式及验证时间的正则表达式_正则表达式

在这篇文章里,我已经编写了12个超有用的正则表达式,这可是WEB开发人员的最爱哦. 1.在input框中只能输入金额,其实就是只能输入最多有两位小数的数字 //第一种在input输入框限制 <input type="text" maxlength="8" class="form-control" id="amount" style="margin-right: 2px;" value="&q

最新手机号码、电话号码正则表达式_正则表达式

今天开始小编为大家系统整理关于正则表达式的一系列文章,希望大家会喜欢. 首先了解一下正则表达式的概念,正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串.将匹配的子串做替换或者从某个串中取出符合某个条件的子串等. java手机号码正则表达式: /** * 验证手机号码 * * 移动号码段:139.138.137.136.135.134.150.151.152.157.158.159.182.183.187.188.147 * 联通号码

日常收集JS邮箱验证正则表达式_正则表达式

背景:正则是一门厚书啊,想写好也不容易,但日常中也就那些像电话.邮箱.手机,网上一堆,但真好验证好了,还得了解一点正则知识,再就是多测试了:-) 下面邮箱正则: 中划线:中划线域名就是米农口中说的扁担域名了,扁担域名由于输入比较麻烦,看起来也比较不正规,是没有多大的价值,目前投资的人是比较少的.按照DNS的标准,域名是不允许有下划线的. 下划线:一些人在注册用户名的喜欢使用下划线_,这种用户名在登录邮箱时很麻烦,给你发邮件的人也很不方便. 二级域名邮箱基本被消灭,这个哥们的正则可以写下划线,扩大

日常收集整理正则表达式验证大全_正则表达式

常用正则表达式大全!(例如:匹配中文.匹配html) 匹配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 匹配空白行的正则表达式:ns*r 评注:可以用来删除空白行 匹配HTML标记的正则表达式:<(S*?)[^>]*>.*?|<.*? /> 评注:网上流传的版本太糟糕,上面这个也仅仅能

一个验证用户名的正则表达式_正则表达式

求一个验证用户名的正则表达式各位大哥大姐,晚辈求一个验证用户名的正则表达式,苦苦思索了一个星期还是没有弄出来,本人愚钝,还望大家指教!VBscript编程要求用户名的字符控制在3至20个之间,由中文.大小写字母.数字.下划线.小数点.减号组成,  必须以中英文或数字开头结尾且下划线.小数点.减号这三个字符中的其中一个的组合不能是连续的 a__a或a--a或a..a 这样的,但可以 a_a.a_a.a_a-a-a-a_a-a.a.a.a这样的.如果超出这个范围则用户名不通过.就是一直弄不明白下划线

详解正则表达式表单验证实例_正则表达式

先看看效果图: 首先给大家解释一些符号相关的意义 * 匹配前面的子表达式零次或多次: ^ 匹配输入字符串的开始位置:$匹配输入字符串的结束位置 1. /^$/ 这个是个通用的格式. 2. 里面输入需要实现的功能. \d 匹配一个数字字符,等价于[0-9] + 匹配前面的子表达式一次或多次: ?匹配前面的子表达式零次或一次: 下面通过一段代码给大家分析表单验证正则表达式,具体代码如下: <!DOCTYPE html> <html lang="en"> <he

比较常用证件正则表达式验证大全_正则表达式

下面都是我收集的一些比较常用的正则表达式,因为平常可能在表单验证的时候,用到的比较多.特发出来,让各位朋友共同使用. // 身份证验证   jQuery.validator.addMethod("isIdCard", function(value, element, type) { if ($(type).val() === '1') { var re = /(^/d{15}$)|(^/d{18}$)|(^/d{17}(/d|X|x)$)/; return this.optional(

正则表达式同时匹配中英文及常用正则表达式_正则表达式

匹配中文:[\u4e00-\u9fa5] 英文字母:[a-zA-Z] 数字:[0-9] 匹配中文,英文字母和数字及_: ^[\u4e00-\u9fa5_a-zA-Z0-9]+$ 同时判断输入长度: [\u4e00-\u9fa5_a-zA-Z0-9_]{4,10} ^[\w\u4E00-\u9FA5\uF900-\uFA2D]*$ 1.一个正则表达式,只含有汉字.数字.字母.下划线不能以下划线开头和结尾: ^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$ 其中: