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中的match和test正则表达式验证密码或用户名的一种规则的更多相关文章
- Python 使用正则表达式验证密码必须包含大小写字母和数字
校验密码是否合法的程序. 输入一个密码 1.长度5-10位 2.密码里面必须包含,大写字母.小写字母和数字 3.最多输入5次 ===================================== ...
- JS的常用正则表达式 验证密码(转载自用)
JS的正则表达式 强:字母+数字+特殊字符 ^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&*]+$)(?![a-zA-z\d]+$)(?![a-zA-z!@#$%^& ...
- js中object、字符串与正则表达式的方法
对象 1.object.hasOwnProperty(name) 检测object是否包含一个名为name的属性,那么hasOwnProperty方法返回true,但是不包括其原型上的属性. 正则表达 ...
- js中, match和exec方法的区别
1. 来源分别为: string.match(reg) 和 RegExp.exec(str): 2. 区别 > 现有 字符串s1 和 正则对象 r1. 目标: 抽出s1中的所有电话号码 ...
- js简单正则表达式验证密码
包含3种及以上 var reg = new RegExp("^(?![A-Za-z]+$)(?![A-Z\\d]+$)(?![A-Z\\W]+$)(?![a-z\\d]+$)(?![a-z\ ...
- 【转】js中15个常用的正则表达式+正则集合
1 用户名正则 //用户名正则,4到16位(字母,数字,下划线,减号) var uPattern = /^[a-zA-Z0-9_-]{4,16}$/; //输出 true console.log(uP ...
- JS的常用正则表达式 验证密码用户名等
//校验是否全由数字组成 function isDigit(s) { var patrn=/^[0-9]{1,20}$/; if (!patrn.exec(s)) return false retur ...
- js 正则表达式验证密码、邮箱格式.....
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- js中的jQuery Validate增加手机号码验证
$.validator.addMethod("isPhone", function(value,element) { var length = value.length; var ...
随机推荐
- 初【001】——Python 基础知识
1.python基础入门 提示: 语法基于python3.x版本(会提示2.x版本和3.x版本的区别) Python命令行将以>>>开始,比如 >>>print ( ...
- StringSequences
题意: 给出两个长度不超过\(50\)的字符串\(S, T\),每次可以在\(S\)中插入一个字符,把每次操作后的\(S\)写成一个序列,问有多少种不同的序列. 注意到我们可以把\(S\)拆分成一段一 ...
- 使用pytesseract进行图像识别
引言 对于简单验证码及一些图像的识别,我们需要使用pytesseract及相应的Tesseract引擎,它是开源的OCR引擎.帮助我们做一些简单的图像识别 当然为了更好将图片识别,对一些像素比较低的图 ...
- 30、提高并行度&广播共享数据
一.提高并行度 1.图解 实际上Spark集群的资源并不一定会被充分利用到,所以要尽量设置合理的并行度,来充分地利用集群的资源.才能充分提高Spark应用程序的性能. Spark会自动设置以文件作为输 ...
- CF1163E Magical Permutation【线性基,构造】
题目描述:输入一个大小为\(n\)的正整数集合\(S\),求最大的\(x\),使得能构造一个\(0\)到\(2^x-1\)的排列\(p\),满足\(p_i\oplus p_{i+1}\in S\) 数 ...
- 贴一段Matlab代码
% reduce leading zeros with rx ind3= find(rx~=0, 1, 'first'); if (isempty(ind3)) rx= gf(0, m, f0); e ...
- linux protobuf 测试官方例子遇到报错及解决办法。
测试例子时出现报错如下,在最下面会写出安装流程. -------------------------------------报错----1------------------------------- ...
- ZwQuerySystemInfoMation函数使用
ZwQueryInfoMation函数很简单.就是4个参数. NTSTATUS WINAPI ZwQuerySystemInformation( _In_ SYSTEM_INFORMATION_CLA ...
- comobox在datagrid里,当滚动scrollbar时,会导致comobox选中项被重置的解决办法
VirtualizingStackPanel.IsVirtualizing="False"
- Java SpringBoot使用Redis缓存和Ehcache
<?xml version="1.0" encoding="UTF-8"?> <ehcache xmlns:xsi="http:// ...