您的位置:首页 > Web前端 > JavaScript

JavaScript之正则表达式捕获

2016-07-25 15:15 387 查看
接JavaScript基础学习笔记
使用exec()方法返回数组
包含了和正则表达式匹配的正则表达式
var reg =/[a-z]+\s\d{4}/;
var str = "hello 2020";
reg.exec(str);
捕获性分组,非捕获性分组

var reg =/([a-z]+)\s(\d{4})/;
var str = "hello 2020";
alert(reg.exec(str));//显示的是:hello 2020,hello,2020(数组中第一个数据是匹配整个正则表达式的字符串,第二个数据是第一个分组中的字符串,第三个数据是第二个分组中的字符串)
reg.exec(str)[0];//就是显示第一个字符串(显示的是:hello 2020)

非捕获性分组

var reg =/([a-z]+)\s(?:\d{4})/;
var str = "hello 2020";
alert(reg.exec(str));//显示的是:hello 2020,hello

前瞻捕获:@@@(?=****)【返回“?=”后跟着***这个字符串的前面@@@的这个字符串】
var reg =/goo(?=gle)/;                                                
var str = "google";
alert(reg.exec(str));//显示的是:goo

换行模式
var reg =/^\d+/gm;//m多行模式
var str = "1.baidu\n2.google\n3.ie";
alert(str.replace(reg,"#"));将数字换成#

小例子:
验证手机号
var reg = /^1[3578]\d{9}&/;
var phone = "13899088890"
reg.text(phone);

把手机号中间4位显示为****
var reg = /(\d{3})\d{4}(\d{4})/;
var phone = "13899088890"

phone.replace(reg,'&1****$2')

验证是否是压缩文件
var reg = /\w+\.rar|zip|gz/;

var file ="test.rar";
reg.text(file);//text验证是否匹配
验证邮箱
var reg=/^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9_\.\-]+\.[a-zA-Z]+&/;
var email="xiaomin.g-he@164.com"
reg.text(email);

使用exec()方法返回数组
包含了和正则表达式匹配的正则表达式
var reg =/[a-z]+\s\d{4}/;
var str = "hello 2020";
reg.exec(str);
捕获性分组,非捕获性分组

var reg =/([a-z]+)\s(\d{4})/;
var str = "hello 2020";
alert(reg.exec(str));//显示的是:hello 2020,hello,2020(数组中第一个数据是匹配整个正则表达式的字符串,第二个数据是第一个分组中的字符串,第三个数据是第二个分组中的字符串)
reg.exec(str)[0];//就是显示第一个字符串(显示的是:hello 2020)

非捕获性分组

var reg =/([a-z]+)\s(?:\d{4})/;
var str = "hello 2020";
alert(reg.exec(str));//显示的是:hello 2020,hello

前瞻捕获:@@@(?=****)【返回“?=”后跟着***这个字符串的前面@@@的这个字符串】
var reg =/goo(?=gle)/;                                                
var str = "google";
alert(reg.exec(str));//显示的是:goo

换行模式
var reg =/^\d+/gm;//m多行模式
var str = "1.baidu\n2.google\n3.ie";
alert(str.replace(reg,"#"));将数字换成#

小例子:
验证手机号
var reg = /^1[3578]\d{9}&/;
var phone = "13899088890"
reg.text(phone);

把手机号中间4位显示为****
var reg = /(\d{3})\d{4}(\d{4})/;
var phone = "13899088890"

phone.replace(reg,'&1****$2')

验证是否是压缩文件
var reg = /\w+\.rar|zip|gz/;

var file ="test.rar";
reg.text(file);//text验证是否匹配
验证邮箱
var reg=/^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9_\.\-]+\.[a-zA-Z]+&/;
var email="xiaomin.g-he@164.com"
reg.text(email);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: