正则表达式的相关梳理

1.边界符  ^开头 $结尾

var rg = /abc/;
console.log(rg.test('abc'));//true
console.log(rg.test('abcd'));//true
console.log(rg.test('aabcd'));//true

var rg1 = /^abc/;
console.log(rg1.test('abc'));//true
console.log(rg1.test('abcd'));//true
console.log(rg1.test('aabcd'));//false

var rg2 = /^abc$/;//精确匹配,要必须是abc才符合规范
console.log(rg2.test('abc'));//true
console.log(rg2.test('abcd'));//false
console.log(rg2.test('aabcd'));//false
console.log(rg2.test('abcabc'));//false

2.[]字符类,表示有一系列字符可以供选择,只要匹配其中一个就行

var rg = /[abc]/;//只要包含有a或者b或者c就可以
console.log(rg.test('andy'));//true
console.log(rg.test('bady'));//true
console.log(rg.test('color'));//true
console.log(rg.test('red'));//false
var rg1 = /^[abc]$/;//三选一 只有是a 或者b 或者c这三个字母才为true
console.log(rg1.test('aa'));//true
console.log(rg1.test('a'));//true
console.log(rg1.test('b'));//true
console.log(rg1.test('c'));//true
console.log(rg1.test('abc'));//false

3.然后"-"号可以表示范围;

var rg1 = /^[a-z]$/;//三选一 只有是a 或者b 或者c这三个字母才为true
console.log(rg1.test('a'));//true
console.log(rg1.test('z'));//true
console.log(rg1.test('1'));//false
console.log(rg1.test('A'));//false

 这里总结一下,还是举例:

var rag = /^[a-zA-Z0-9_-]$/;
// '^'开头,'$'结尾,中间的a-z,A-Z,0-9,代表允许出现的字符范围;
//[]表示多选一; 意思是允许所有的大小写英文字母,所有的阿拉伯数字,下划线_与短横线-出现.不在此范围内则返回false;

 正则取反时的操作也比较容易.

var rag = /^[^a-zA-Z0-9_-]$/;

  判定条件如果存在上面的判定条件中,全部取反.不在该范围内返回true,在就返回false.

量词符

量词 * + ? {n} {n,} {n,m}
说明 重复零次或更多次 重复一次或更多次 重复零次或一次 重复n次 重复n次或者更多次 重复n到m次

量词是设定某个模式出现的次数.

var reg = /^[a-zA-Z0-9_-]{6,16}$/;
//这里表示验证元素出现6到16次都是合法的.小于或者超出这个范围都是不合法的;

  

这里小总结一下:  对于没有括号的,以第一个字母核对一次为准;小括号表示优先级,正则的字符串是一个整体;中括号是字符集合,匹配方括号中的任意字符一次;大括号是量词符,里面表示重复次数.

 4.预定义类

预定类 \d \D \w \W \s \S
说明 匹配0-9之间任一数字,相当于[0-9] 匹配所有0-9外字符,相当于[^0-9] 匹配任意字母下划线,相当于[a-zA-z0-9] 除去所有字母,数字和下划线以外的字符,相当于[^a-zA-z0-9] 匹配换行符,制表符,空格符等,相当于[\t\r\n\v\f] 匹配非空格字符,相当于[^\t\r\n\v\f]

 

 

posted @ 2019-11-10 23:33  Omiturix  阅读(85)  评论(0)    收藏  举报