正则表达式

正则表达式

是专门用来验证字符串的一种规则,我们可以自由的编写我们想要的验证规则,然后通过相关方法让这个正则去验证指定的字符串,并返回我们希望得到的结果

正则表达式是一种单独的语言,与使用环境的开发无关(任何开发环境都可以是用正则表达式)

1.创建正则表达式

var regExp=new RegExp('','');

第一个参数是正则表达式的主体内容

第二个参数是正则的修饰符

var regExp=new RegExp('[0-9]{2,3}','g');

使用字面量创建正则:两斜杠之间是正则的主体,最后一个斜杠后是正则修饰符

var regExp=/\d{2,3}/g;bbs

2.如何用正则验证字符串(5种);

正则对象下两种方法,字符串下三种方法。

a.使用正则对象下的方法调用正则

var regExp=/a/;

var str='hglasdkjflsdkfjadlfajf';

i.test()方法:如果找到正则规则中匹配的字符返回true,参数是要验证的字符串

console.log(regExp.test(str));

ii.exec()方法:搜索字符串中符合正则规则的字符,并把第一个匹配的字符返回出来,如果没有,返回false

console.log(regExp.exec(str));

b.字符串对象下的正则验证方法

在引号中出现的字符就是字符串;

在//之间出现的是正则

iii.search()方法,找到参数指定的字符并返回下标,如果没有找到,就返回-1.

参数可以使用字符串,也可以是正则表达式

console.log(str.search('a'));

console.log(str.search(/a/));

iv.replace()敏感词替换

var str='hello ohayou,world';

str.replace('要替换的','替换的内容');

console.log(str.replace('hello|world','***'));

v.match()用数组的方式返回

var str='hello world';

str.match('e');

str.match(/e/g);

3.正则规则

修饰符用来修饰正则表达式的字符

i:让正则表达式不区分大小写的匹配

g:执行时让正则在匹配时全局匹配,而不是找到一个符合条件后停止,i和g没有顺序要求。

var str='akjfdAkjfsaSA';

var regExp=/a/ig;

console.log(str.match(regExp));

正则中符号的两大类型:修饰者(本身不代表任何字符);被修饰者(代表某一类字符).

(abc):查找abc这三个单词;

(abc|bcd|def)查找这三个单词中的一个;

[12345]包括12345中的一个;

[abc]包括abc中的一个字母

[0-9]包括所有数字;

[a-z]包括所有小写字母

[A-Z]包括所有大写字母

[A-z]包括所有字母

[0-9a-z]所有数字和小写字母

[^ab]除了字符ab

元字符

.代表任何的一个字符,若要加.时需用转义符;

\w任何字母,数字,下划线

\W任何非字母,数字,下划线

\d任何数字

\D任何非数字

\s空白字符

\S非空白字符

\b查找单词边界

\B查找非单词边界

量词

^n匹配开头为n的字符串

n$匹配结尾为n的字符串

n+匹配任何包含至少一个n的字符串

n{x}匹配任何包含x个n的字符串

n{x,y}匹配任何包含x到y个n的字符串

工具网站https://regexper.com

4.

判断字符串中全部由数字构成

/^\d+$/

判断文件后缀为pdf

/.+(\.pdf)$/

判断手机号

/^1[34578]\d{9}$/

验证邮箱 开头字母,数字,下划线。中间@数字,字母,下划线。后面A-z{2,6}

/^\w+@\w+\.[A-z]{2,6}$/

你可能感兴趣的:(正则表达式)