^表示开始。$表示结束。例:Regex reg = new Regex(@"^\d{3,4}-\d{7,8}$")\x0d\x0a加了开始结束标记之后,输入的数量和内容必须完全相同才为true(完全匹配)\x0d\x0a (\d,代表数字0-9)(\D,表示不是数字)(\w,表示a-z,A-Z,0-9,_)(\W 表示不是上面小w表示的)(\s 表示 空格。)\x0d\x0a ”*“ 表示0到多个\x0d\x0a“+” 1到多个\x0d\x0a“?” 0个或者1个\x0d\x0a“[ ]“ (一个数到另一个数之间)自定义匹配内容\x0d\x0a“ |”或者\x0d\x0a “{}”{最小个数,最大个数} 次数\x0d\x0a例如:邮箱验证:\x0d\x0aRegex r = new Regex(@"^[\w]+@[\w].[A-Z|a-z]$")\x0d\x0a自己kankan琢磨一下就懂了while是当满足条件时进入循环。
你这里第三行开始就有问题了。
你的思路应该是只要账号密码不对就一直循环对吧。如果正确就跳出。
所以你先判断需要跳出的情况,然后不满足的时候执行输入操作就可以。
简而言之,修改括号里的判断条件,然后你换一下判断顺序,成功时加入跳出操作。这样就行了。
用正则表达式比较容易new_name为新的用户名的ID var name_a=document.getElementById("new_name").valueif(name_a.match(/^[a-zA-Z0-9]*$/)==null){ //用户名只能为大、小写字母和数字
document.getElementById("x_name").innerHTML="用户名必须为英文或数字"}