常用js正则表达式

正则表达式:处理字符串的规则

作用

1.提取字符串:从指定的字符串中将符合规则部分提取出来

2.匹配正则:判断一个字符串是否和指定的规则匹配

3.替换字符串:将一个字符串中跟规矩匹配的部分替换掉

1.字符串的处理方法

字符串.search(正则)

字符串.match(正则)   // 匹配成功 返回下标位置,不成功返回-1, 可以理解为查找字符串中符合正则表达式的子字符串的位置

字符串.replace(正则表达式,新内容)     //替换字符串

举例:

var reg = /aaa/; // 写了一个规则,这个规则的意思是说3个a字符连在一起

var str = 'sdafaaaaa123wer'; // 一个杂乱的字符串

var arr = str.match(reg); // 从字符串中提取出符合规则的部分

console.log(arr); // ["aaa", index: 4, input: "sdafaaaaaa123wer"]

2.正则方法

正则.test(字符串)

正则.exec(字符串)

举例

/\d/.test('13522336699')             //true:可匹配则返回ture,反之false


var reg = /(a)aa/g;             // 贪婪匹配

var str = 'sdafaa aaaa123wer';

var arr = reg.exec(str);

console.log(arr); // ["aaa", "a", index: 7, input: "sdafaa aaaa123wer"]

3.正则的组成

3.1字符

3.1.1普通字符:普通字符串中的字符

3.1.2元字符:带有特殊含义的符号

\d            代表任意一个数字

\w            代表任意一个数字、字母、下划线

\s             代表任意一个空格

.                代表任意一个字符

[]                代表中括号中的任意一个字符

[0-9],[a-z],[A-Z],组合方式:[0-9a-zA-Z]

[\u4e00-\u9fa5]  代表任意一个汉字

3.2修饰符:修饰前面的字符

{n}        前面的字符需要出现n次

{n,}       前面的字符最少n次,最多不限

{n,m}    前面的字符最少n次,最多m次

+           最少一次

*           任意次

?           最多一次

^            必须以^后面指定的字符开头

$            必须以$前面指定的字符结尾

|               或者

3.3模式修正符

g        全局匹配,贪婪模式

i          忽略大小写

gi        全局匹配+忽略大小写

4.常见案例

4.1手机号检测

var reg = /^1[345789]\d{9}$/;

//手机号开头必定是1,且第二位数在345789之间,而后随机数结尾

4.2中文检测

var reg = /[\u4e00-\u9fa5]/;

4.3文件格式检测(以什么为结尾)

// 文件格式检测    \.(jpg|jpeg|bmp)$
var str = 'as1654erarada54131.bmp'

var reg = /^[a-zA-Z0-9]{6,}\.(jpg|jpeg|bmp)$/

var bool = reg.test(str)

console.log(bool)

4.4邮箱格式检测

// 邮件格式检测 

/^[a-zA-Z0-9_-]+@([a-zA-Z0-9]+\.)+(com|cn|net|org)$/

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容