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中的match和test正则表达式验证密码或用户名的一种规则的更多相关文章

  1. Python 使用正则表达式验证密码必须包含大小写字母和数字

    校验密码是否合法的程序. 输入一个密码 1.长度5-10位 2.密码里面必须包含,大写字母.小写字母和数字 3.最多输入5次 ===================================== ...

  2. JS的常用正则表达式 验证密码(转载自用)

    JS的正则表达式 强:字母+数字+特殊字符   ^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&*]+$)(?![a-zA-z\d]+$)(?![a-zA-z!@#$%^& ...

  3. js中object、字符串与正则表达式的方法

    对象 1.object.hasOwnProperty(name) 检测object是否包含一个名为name的属性,那么hasOwnProperty方法返回true,但是不包括其原型上的属性. 正则表达 ...

  4. js中, match和exec方法的区别

    1. 来源分别为: string.match(reg) 和 RegExp.exec(str): 2. 区别 >  现有 字符串s1 和 正则对象 r1.     目标: 抽出s1中的所有电话号码 ...

  5. js简单正则表达式验证密码

    包含3种及以上 var reg = new RegExp("^(?![A-Za-z]+$)(?![A-Z\\d]+$)(?![A-Z\\W]+$)(?![a-z\\d]+$)(?![a-z\ ...

  6. 【转】js中15个常用的正则表达式+正则集合

    1 用户名正则 //用户名正则,4到16位(字母,数字,下划线,减号) var uPattern = /^[a-zA-Z0-9_-]{4,16}$/; //输出 true console.log(uP ...

  7. JS的常用正则表达式 验证密码用户名等

    //校验是否全由数字组成 function isDigit(s) { var patrn=/^[0-9]{1,20}$/; if (!patrn.exec(s)) return false retur ...

  8. js 正则表达式验证密码、邮箱格式.....

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  9. js中的jQuery Validate增加手机号码验证

    $.validator.addMethod("isPhone", function(value,element) { var length = value.length; var ...

随机推荐

  1. MySQL 索引原理以及慢查询优化

    本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree ...

  2. 第一章 -- MySQL简介及安装

    什么是数据库 数据库实际上就是一个文件集合,是一个存储数据的仓库,本质就是一个文件系统,数据库是按照特定的格式把数据存储起来,用户可以对存储的数据进行增删改查操作 数据库管理系统(DBMS) RDBM ...

  3. DW-ODS

    ODS (操作数据存储) 编辑 讨论 操作数据存储ODS(Operational Data Store)是数据仓库体系结构中的一个可选部分,也被称为贴源层.ODS具备数据仓库的部分特征和OLTP系统的 ...

  4. GDB core命令的使用调试段错误

    #include <stdio.h> void func(){ int *p = NULL; printf("*p:%d\n", *p);//断错误 } int mai ...

  5. 洛谷P3964松鼠聚会

    题目 题意:求最小的从某一个点到其余点的切比雪夫距离和. 将一个图中的\((x,y)\)坐标转到新坐标\((x+y,x-y)\)后,图中的曼哈顿距离就是新图中的切比雪夫距离, 证明:分类讨论, 1.\ ...

  6. NOIP(划掉)CSP2019一轮知识点

    今年似乎变动很大呢…… 去年总结的 历年真题 以下标题中打*的是我认为的重点内容 *一.关于计算机 (一)计算机组成 计算机的工作原理跟人的大脑很相似,而且还是大脑功能的延伸,所以习惯上叫它电脑. 硬 ...

  7. 【CSP模拟赛】坏天平(数学&思维)

    蹭兄弟学校的题目做还不用自己出题的感觉是真的爽 题目描述 nodgd有一架快要坏掉的天平,这架天平右边的支架有问题,如果右边的总重量比左边多太多,天平就彻底坏掉了.现在nodgd手上有n种砝码,质量分 ...

  8. 标准ACL详解

  9. 《sicp》模块化程序设计 笔记

    <sicp>模块化程序设计 2.2.3 序列作为一种约定界面 学习笔记 这节中,讲述了一种模块化的程序设计思想,也就是将程序设计为如同信号处理过程一样,采用级联的方式将程序各个部分组合在一 ...

  10. sql中的表值函数与标量值函数区别与用法

    通俗来讲: 听名字就知道区别了 表值函数返回的是一张表结果,就和一个select查询语句一样,只不过里面带入了参数或者很复杂:标量值函数返回的只是一个值 一 .表值函数又分为内联函数与多语句函数 (1 ...