在线求一个正则表达式,能够让密码满足必须包含 大写字母小写字母和数字。求指导,涂上写的是错的。求正解

Alina3073 2015-03-28 07:40:36

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function validate(form){
var username = form.username.value;
var password = form.password.value;
var errorMsg = "";
var confirmPassword = form.confirmPassword.value;
var stremail = form.stremail.value;
var phonenumber = form.phonenumber.value;

var radioSelete = "Nothing";
var seletedValue;
var b="false";
var cbv;

if(username == null || username.length<5 || username.length>20){
errorMsg+="用户名必须在5-20位之间\n";

}
var patt1 = /\W/g; // /苏A([A-Z]|[0-9]){5}/g
if(patt1.test(username)){
errorMsg+="用户名必须使用字母和数字组合";
}

if(password == null || password.length<6 || password.length>16){
errorMsg+="用户密码必须在6-16位之间\n";

}
var patt2 = ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{6,16}$;
if(patt2.test(password)){
errorMsg+="用户密码必须包含大写字母小写字母和数字";
}

if(confirmPassword != password){
errorMsg+="两次输入密码不同,请重新输入!";
}

if(!stremail){
errorMsg+="请输入邮箱!\n";

}
var patt3 = /^[\w\.\-]+@([a-z\d\-]+\.)+[a-z]{2,3}$/i;
if(!patt3.test(stremail)){
errorMsg+="请输入合法的邮箱!\n";
}

if(!phonenumber){
errorMsg+="请输入手机号!\n";

}
var patt4 = /^((13[0-9]{1})|159|153)+\d{8}$/;
if(!patt4.test(phonenumber)){
errorMsg+="请输入合法的手机号!\n";
}
//
for(var i=0;i<document.form1.gender.length;i++)
{
if(document.form1.gender[i].checked)
{
radioSelete = "seleted";
seletedValue = document.form1.gender[i].value;
}
}
if(radioSelete == "Nothing")
{
errorMsg+="请选择性别!";
}


for(var i=0;i<document.form1.interesting.length;i++)
{
if(document.form1.interesting[i].checked)
{
b = "true";
cbv = document.form1.interesting[i].value;
}
}
if(b == "false")
{
errorMsg+="请至少选择一项兴趣爱好!";
}


if(errorMsg.length>0){
alert(errorMsg);
return false;
}
return true;
}
</script>
</head>
<body>

<form name="form1" action="" method="post" onsubmit="return validate(this)"><!-- action里面填的是提交给谁的url -->
用户名:
<input type="text" name="username" value="guest"/>
<br/><br/>
真实姓名:
<input type="text" name="realname"/>
<br/><br/>
密码:
<input type="password" name="password"/>
<br/><br/>
确认密码:
<input type="password" name="confirmPassword"/>
<br/><br/>
常用邮箱:
<input type="text" name="stremail"/>
<br/><br/>
手机号:
<input type="text" name="phonenumber"/>
<br/><br/>
性别:
<input type="radio" name="gender" value="M"/>男
<input type="radio" name="gender" value="F">女
<br/><br/>

兴趣爱好:
<input type="checkbox" name="interesting" value="football"/>足球
<input type="checkbox" name="interesting" value="basketball"/>蓝球
<input type="checkbox" name="interesting" value="music"/>音乐
<input type="checkbox" name="interesting" value="film"/>电影
<input type="checkbox" name="interesting" value="reading"/>看书
<br/><br/>
<select name="year">
<option value="1990">一九九零</option>
<option value="1991">一九九一</option>
<option value="1992">一九九二</option>
<option value="1993">一九九三</option>
</select>

<select name="month">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>月
<br/>
<select name="test" multiple="multiple" size="4">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
</select>

<br/><br/>
自我介绍:
<br/>
<textarea rows="6" cols="80" name="intro"></textarea>
<br/>
<input type="button" value="+" />
<input type="button" value="-" />
<hr/>
<input type="reset" value="清空"/>
<input type="submit" value="注册"/>
</form>
</body>
</html>
...全文
160 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
youbai57 2015-03-28
  • 打赏
  • 举报
回复
百度一篇正则表达式呗,啥都有!
  • 打赏
  • 举报
回复
if(/[a-z]/.test(str) && /[A-Z]/.text(str)&&/\d/.test(str)&&/^.{6,16}$/.test(str))
{//匹配
}
天际的海浪 2015-03-28
  • 打赏
  • 举报
回复
var patt2 = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{6,16}$/; if(!patt2.test(password)){

87,904

社区成员

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

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