急需判断密码的正则表达式.密码必须包含字母数字及特殊字符8-20位.谢谢!

help1000 2006-04-22 03:07:52
急需判断密码的正则表达式.密码必须包含字母数字及特殊字符8-20位.谢谢!
...全文
21869 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
浪尖赏花 2010-06-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 help1000 的回复:]
急需判断密码的正则表达式.密码必须包含字母数字及特殊字符
密码长度8-20位.谢谢!

大写英文字母(从 A 到 Z)
小写英文字母(从 a 到 z)
10 个基本数字(从 0 到 9)
非字母字符(例如,!、$、#、%)
[/Quote]
最好是分2步来判断
1、判断密码包括哪些字符及总长度
var re = /^[0-9a-zA-Z!$#%]{8,20}$/;

2、判断必须包括哪些字符
var re = /([0-9].*([a-zA-Z].*[!$#%]|[!$#%].*[a-zA-Z])|[a-zA-Z].*([0-9].*[!$#%]|[!$#%].*[0-9])|[!$#%].*([0-9].*[a-zA-Z]|[a-zA-Z].*[0-9]))/;
geekGG 2010-06-18
  • 打赏
  • 举报
回复
var reg=/^[a-z0-9A-Z_]{5,20}+$/;
if(!reg.test(str)){

return false;
}
GRLD8888 2006-04-28
  • 打赏
  • 举报
回复
<input id=te onchange='ch()'>
<script language='javascript'>
function ch()
{
var reg=/^[\w%*!$#]{8,20}$/;
if(reg.test(te.value))
alert('ok');
else
alert('wrong');

}
</script>
yelowolf 2006-04-28
  • 打赏
  • 举报
回复
在jsp页面中怎么调用javascript定义的正则表达式呢?
yyszh 2006-04-24
  • 打赏
  • 举报
回复
if(/^.*?[\d]+.*$/.test(str)&&/^.*?[A-Za-z].*$/.test(str)&&/^.*?[_@#%].*$/.test(str)&&/^.{8,20}$/.test(str))alert('true');
else alert('false');
yyszh 2006-04-24
  • 打赏
  • 举报
回复
一个表达式不行,只能分四次来判断:
if(/^.*?[\d]+.*$/.test(str)&&/^.*?[A-Za-z]/.test(str)&&/^.*?[_@#%].*$/.test(str)&&/^.{8,20}$/.test(str))alert('true');
else alert('false');
help1000 2006-04-24
  • 打赏
  • 举报
回复
谢谢各位的帮忙,请问哪个方法是表示必须包括字母,数字,特殊字符啊.
也就是说这个字符串中字母,数字,特殊字符必须出现一次.

是不是要分别判断字母,数字,特殊字符的出现次数呢.谢谢!
yyszh 2006-04-23
  • 打赏
  • 举报
回复
必须包含,难!
/([A-Za-z]+\d+[特殊字符]+|\d+[A-Za-z]+[特殊字符]+|[特殊字符]+\d+[A-Za-z]+|[特殊字符]+[A-Za-z]+\d+|\d+[特殊字符]+[A-Za-z]+|[A-Za-z]+[特殊字符]+\d+)/
字符个数只好另外在判断一次了。
荣之梦 2006-04-23
  • 打赏
  • 举报
回复
纯情顶
meizz 2006-04-22
  • 打赏
  • 举报
回复
急需判断密码的正则表达式.密码必须包含字母数字及特殊字符
密码长度8-20位.谢谢!

大写英文字母(从 A 到 Z)
小写英文字母(从 a 到 z)
10 个基本数字(从 0 到 9)
非字母字符(例如,!、$、#、%)

<form name="form1">
<input name="time" value="Y2006@04%23 23:30" />
</form><script>

alert(/^[\w\-~!@#$%^&*()+{}[ \]:]{8,20}$/.test(document.form1.time.value))
</script>
help1000 2006-04-22
  • 打赏
  • 举报
回复 1
是要求密码必须包含
字母
数字
特殊字符
而不需要判断以什么符号开头.
ice_berg16 2006-04-22
  • 打赏
  • 举报
回复
textbox.value.match(/^[\x01-\xfe]{8,20}$/)
binbin695 2006-04-22
  • 打赏
  • 举报
回复
再来帖几个

//校验用户姓名:只能输入1-30个以字母开头的字串
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
//校验邮箱
function isEmail(s)
{
var patrn=/^[a-zA-Z0-9_\-]{1,}@[a-zA-Z0-9_\-]{1,}\.[a-zA-Z0-9_\-.]{1,}$/;
if (!patrn.exec(s)) return false
return true
}
//校验日期
function isdate(s)
{
var patrn=/^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\s(((0?[0-9])|([1-2][0-3]))\:([0-5]?[0-9])((\s)|(\:([0-5]?[0-9])))))?$/;
if (!patrn.exec(s)) return false
return true
}
//校验货币格式
function isCurrency(s)
{
var patrn=/^\d+(\.\d+)?$/;
if (!patrn.exec(s)) return false
return true
}
binbin695 2006-04-22
  • 打赏
  • 举报
回复
//校验登录名:只能输入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
}

是不是这样的。可以修改数字来改变个数
help1000 2006-04-22
  • 打赏
  • 举报
回复
急需判断密码的正则表达式.密码必须包含字母数字及特殊字符
密码长度8-20位.谢谢!

大写英文字母(从 A 到 Z)
小写英文字母(从 a 到 z)
10 个基本数字(从 0 到 9)
非字母字符(例如,!、$、#、%)
help1000 2006-04-22
  • 打赏
  • 举报
回复
大写英文字母(从 A 到 Z)
小写英文字母(从 a 到 z)
10 个基本数字(从 0 到 9)
非字母字符(例如,!、$、#、%)
moodboy1982 2006-04-22
  • 打赏
  • 举报
回复
可以包函特殊字符??
不用过滤'吗?
如果真的话,那不用正则也可以完成。



------个性签名------------
http://www.esoftnow.com/bbs
技术论坛,欢迎光临!

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧