密码验证正则表达式

正则表达式校验密码
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分钟入门教程,进一步加深对正则表达式的认识。

http://regexlib.com/Search.aspx?k=password

转载于:https://my.oschina.net/voole/blog/908617

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值