js表单设置密码为至少6位的数字和字母,并验证

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js表单设置密码为至少6位的数字和字母,并验证相关的知识,希望对你有一定的参考价值。

要代码

参考技术A var password="asdasgsdg";
if(password.length<6)
alert("密码至少大于等于6位");

return;


var reg = /^[0-9a-zA-Z]+$/;
if(!reg.test(str))
alert("密码只能由数字和字母组成");

参考技术B var
password="asdasgsdg";
if(password.length<6)
alert("密码至少大于等于6位");
return;

var
reg
=
/^[0-9a-zA-Z]+$/;
if(!reg.test(str))
alert("密码只能由数字和字母组成");

JS中的match和test正则表达式验证密码或用户名的一种规则

match语法:
字符串.match(正则表达式)
有符合的:返回符合的数组
无符合的:返回null

test语法:
正则表达式.test(字符串)
有符合的:返回true
无符合的 :返回false

该文的密码或用户名格式:
格式1:
描述:以英文字母开头,在6位到20位之间的以字母数字下划线组成的。
正则1描述:以英文字母开头,后面至少5位的字母数字下划线组合,后面的不能多于19位。
格式2:
在以上基础上允许中间有短线字符。

按左到右顺序描述:第一个位是必须是个字母,后面可有若干位字母数字下划线组合,后面至少有5位,加上前面的第一位字母,整个字符串至少有6位。后面至多有19位,加上前面的第一位的字母,整个字符串至多有20位。

一般常见网站上的用户名(用户账号,虽然昵称可以是中文,但是账号名一般都是这种规则,防止重名),有可能就是这种规则。

测试代码 :

<a href="javascript:prn_p1()">点击获取</a><br>
<script language="javascript" type="text/javascript">   
        var LODOP; //声明为全局变量 
  function prn_p1(){
     console.log("a".match(/a/));//返回数组
     console.log(/a/.test("a"));//返回true
     console.log("b".match(/a/));//返回null
     console.log(/a/.test("b"));//返回false
 
//密码测试1:以字母开头,只能是字母数字下划线,总长度大于或等于6位,小于或等于20位    
 console.log("a1234的5位结果:"+/^[a-zA-Z]\\w{5,19}$/.test("a1234"));//5位,位数不符合
 console.log("a12345的6位结果:"+/^[a-zA-Z]\\w{5,19}$/.test("a12345"));//6位
 //前面的开头的字母占一位,后面的则需要至少有5位,才能总长度达到6位。
 console.log("a1234567890123456789的20位结果:"+/^[a-zA-Z]\\w{5,19}$/.test("a1234567890123456789"));//20位
 console.log("a12345678901234567890的21位结果:"+/^[a-zA-Z]\\w{5,19}$/.test("a12345678901234567890"));//21位,位数不符合
 console.log("1234a的以数字开头的结果:"+/^[a-zA-Z]\\w{5,19}$/.test("1234a"));//以数字开头,不符合
 console.log("a123-4a的含短线的结果:"+/^[a-zA-Z]\\w{5,19}$/.test("a123-4a"));//含短线特殊字符,不符合

 console.log("-----允许含有短线的另一个正则表达式----")
 console.log("a123-4的6带-结果:"+/^[a-zA-Z][\\w-]{5,19}$/.test("a123-4"));//含有短线的,符合
 console.log("----用大小写字母和数字下划线替换\\w----");
//用大小写字母和数字下划线替换\\w
 console.log("a1234的5位结果:"+/^[a-zA-Z][a-zA-Z0-9_]{5,19}$/.test("a1234"));//5位,位数不符合
 console.log("a12345的6位结果:"+/^[a-zA-Z][a-zA-Z0-9_]{5,19}$/.test("a12345"));//6位
 console.log("a123-4a的含短线的结果:"+/^[a-zA-Z][a-zA-Z0-9_]{5,19}$/.test("a123-4a"));//含短线特殊字符,不符合
 console.log("a123-4a的含短线的结果:"+/^[a-zA-Z][a-zA-Z0-9_-]{5,19}$/.test("a123-4a"));//含短线特殊字符,不符合
  };
</script> 

图示:

以上是关于js表单设置密码为至少6位的数字和字母,并验证的主要内容,如果未能解决你的问题,请参考以下文章

整理前端表单验证常用的15个JS正则表达式

使用 parsley js 进行表单验证。字母数字和密码确认

正则表达式验证6~30位数字,下划线,中划线,字母任意两种混合的密码验证策略

如何用正则表达式验证用户名

JS中的match和test正则表达式验证密码或用户名的一种规则

js验证密码的正则表达式