正则表达式

112 阅读1分钟

[a-z] 查找a到z的字符

构造函数的方式

let reg = new RegExp(/[a-z]/);

正则的方法test()可以判断你输入的字符串是否符合要求,符合返回true,不符合返回false;

console.log(reg.test('a'));

用字面量的方式来表示正则

let reg = /[a-z]/;

i 执行对大小写不敏感的匹配

let reg = /[a-z]i/;console.log(reg.text()); 

g 执行全局匹配

[A-Z] 查找A到Z的字符

匹配一串字符 包括多个英文字母,大小写和数字

let reg = /^[a-zA-Z0-9]$/;

用户名

1.只能数字不小于5

let reg = /^[0-9]{5,}$/;

2.只能大小写字母 [5-9] 包括5和9

let reg = /^[a-zA-Z]{5,9}$/;

3.只能出现0次 多次 包括大小写数字

let reg = /^[a-zA-Z0-9]*$/;

4.只能出现0次 一次 包括大小写数字

let reg = /^[a-zA-Z0-9]?$/;

\w 匹配数字,字母,下划线

\W 匹配非数字,字母,下划线

\d 匹配数字

\D 匹配非数字

\s 匹配空白字符 (空格,换行\n,回车\r) 空字符串不可以

\S 匹配非空白字符

匹配非数字,字母,下划线 6-9字符

let reg = /^\W{6,9}$/;

匹配空白字符 0-1次

let reg = /^\s?$/;

匹配非空白字符 1-多次

let reg = /^\S+$/;



返回匹配到的第一个字符串的下标,否则返回-1

str.search(/[a-z]/);

没有找到任何匹配的文本,返回null,否则返回一个数组(依赖是否有全局g)

str.match(/[0-9]/g);

返回一个新的字符串

let str = 'abc123qwe';//let news = str.replace('bc','oo');//let news = str.replace(/[0-9]/,'oo');//let news = str.replace(/[0-9]/g,'oo');console.log(news);

返回一个字符串数组

let str = 'a1b2c3';
console.log(str.split('-')); //匹配不到会把整个字符串当成数组返回

把数字当成分隔符分隔 -> [a,b,c,d]

console.log(str.split(/[0-9]/));

split 的第二个参数表示分隔成几个数组的意思,写几分几

console.log(str.split(/[0-9]/,3));

验证26个英文字母组成的字符串

let reg = /^[a-zA-Z]+$/;

验证由数字和26个英文字母组成的字符串

let reg = /^[a-zA-Z0-9]+$/;

//let reg = /^[a-zA-Z\d]+$/;

验证由数字,字母,下划线组成的字符串

let reg = /^\w+$/;

验证汉字 \u4e00-\u9fa5

let reg = /^[\u4e00-\u9fa5]+$/;