1、定义一个变量password,初始化值。
2、定义一个变量answer,值为prompt接收用户输入的密码。
3、利用条件运算符,检测输入的是否是密码并返回相应的值。
完整的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 falsereturn true
}//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串function isRegisterUserName(s){var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/if (!patrn.exec(s)) return falsereturn true}function isRegisterUserName(s){var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/if (!patrn.exec(s)) return falsereturn true}
//校验用户姓名:只能输入1-30个以字母开头的字串Javascript代码function isTrueName(s){var patrn=/^[a-zA-Z]{1,30}$/if (!patrn.exec(s)) return falsereturn true}}}//校验密码:只能输入6-20个字母、数字、下划线
function isPasswd(s){var patrn=/^(\w){6,20}$/if (!patrn.exec(s)) return falsereturn 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 falsereturn true}//校验手机号码:必须以数字开头,除数字外,可含有“-”
function isMobil(s){var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/if (!patrn.exec(s)) return falsereturn 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 falsereturn true}//校验搜索关键字
function isSearch(s){var patrn=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:'\,.<>/?]{1}[^`~!@$%^&()+=|\\\][\]\{\}:'\,.<>?]{0,19}$/if (!patrn.exec(s)) return falsereturn true}function isIP(s) //by zergling{var patrn=/^[0-9.]{1,20}$/if (!patrn.exec(s)) return falsereturn true} while是当满足条件时进入循环。你这里第三行开始就有问题了。
你的思路应该是只要账号密码不对就一直循环对吧。如果正确就跳出。
所以你先判断需要跳出的情况,然后不满足的时候执行输入操作就可以。
简而言之,修改括号里的判断条件,然后你换一下判断顺序,成功时加入跳出操作。这样就行了。