十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
/*
创建正则表达式的对象
语法: var 变量 = new RegExp("正则表达式","匹配模式") 或者 var 变量 = /正则表达式/
匹配模式: i:忽略大小写 。 g:全局匹配模式
*/
//var reg = new RegExp("a","i");
var reg = /a/i;
var str = "1A2d3f4g6h8";
// 正则表达式的方法: test() : 检查字符串是否符合正则表达式规则,符合返回true,否则返回false
console.log(reg.test(str)); //输出true
// split() 支持正则表达式匹配拆分字符串。该方法默认会走全局匹配。
var res = str.split(/[A-z]/);
console.log(res); //输出["1", "2", "3", "4", "6", "8"]
// search() 搜索字符串中是否有指定内容,不能全局匹配,只能搜索第一个符合条件的位置
var str1 = "hello abc hello aec";
var res2 = str1.search(/a[be]c/);
console.log(res2); //输出6( 第一个匹配的abc的位置)
/*
match() 根据正则表达式,从一个字符串中将符合条件的内容提取出来。
match默认只会找到第一个符合要求的内容,需要检索全部需要改为全局匹配模式,且可以设置多个匹配模式
匹配到的内容封装到数组中保存
*/
var str2 = "1a2b3c4d5e6f7C";
var res3 = str2.match(/[A-z]/gi); // gi表示全局匹配且不区分带小写
console.log(res3); //输出["a", "b", "c", "d", "e", "f", "C"]
/*
replace() 将字符串指定内容替换成新的内容,默认只会替换第一个
第一个参数表示: 被替换的内容,可以用正则表达式
第二个参数表示: 新的内容(替换为""的话,就是删除匹配的元素)
*/
var str3 = "1a2a3a4a5a";
var res4 = str3.replace("a","@@@");
var res5 = str3.replace(/a/gi,"@@@");
var res6 = str3.replace(/a/gi,"");
console.log(res4); //输出1@@@2a3a4a5a
console.log(res5); //输出1@@@2@@@3@@@4@@@5@@@
console.log(res6); //
/*
检查手机号是否合法:1开头,第二位3-9任意数,三位之后任意数9个
*/
var phone = "";
var reg2 = /^1[3-9][0-9]{9}$/;
console.log(reg2.test(phone)); //输出true