正则表达式(Regular Expression)是用于匹配字符串中字符组合的模式,在 JavaScript中,正则表达式也是对象。这些模式被用于 RegExp 的 exec 和 test 方法, 以及 String 的 match、matchAll、replace、search 和 split 方法。正则表达式可用于所有文本搜索和文本替换的操作。 ==那就开始吧~==
/正则表达式主体/修饰符(可选)
在 JavaScript 中,正则表达式通常用于两个字符串方法 : search() 和 replace()。
/*
* search
* 搜索字符串中是否含有指定内容,返回子串的起始位置
*/
var str = "hello abc aec aqc";
console.log(str.search(/a[beq]c/));
结果:
6
/*
* replace 替换
*/
var p = 'The quick brown fox jumps over the lazy dog. If the dog reacted, was it really lazy?';
console.log(p.replace("fox","Monkey"));
结果:
The quick brown Monkey jumps over the lazy dog. If the dog reacted, was it really lazy?
/*
* split(): 切片,除去该参数,将分割后的字符串存储到数组中的String方法中
*/
var str = "1z3v3f4n5i6s";
var result = str.split(/[0-9]/);
console.log(result);
结果:
['', 'z', 'v', 'f', 'n', 'i', 's']
/*
* match: 可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配
*/
var str = "The rain in SPAIN stays mainly in the plain";
var n = str.match(/ain/g);
结果:
ain,ain,ain
在 JavaScript 中,RegExp 对象是一个预定义了属性和方法的正则表达式对象。
/*
* test():检测一个字符串是否匹配某个模式
*/
var patt1=new RegExp("e");
document.write(patt1.test("The best things in life are free"));
结果:
true
/*
* exec()
* 方法用于检索字符串中的正则表达式的匹配
* 该函数返回一个数组,其中存放匹配的结果,如果未找到匹配,则返回值为 null。
*/
var patt1=new RegExp("e");
document.write(patt1.exec("The best things in life are free"));
结果:
e
量词只对前一个内容起作用
去除以下字符串开头与结尾空格
str = " he llo ";
str = str.replace(/^\s*|\s*$/g,"");
console.log(str);
he llo
//注意^与$的使用
var phone = "13553597193";
var phoneReg = /^1[3-9][0-9]{9}$/
console.log(phoneReg.test(phone));
true
思路看注释
/*
* 任意字母数字下划线 .任意字符数字下划线(可选,若有.后面至少有一个) @ 任意字母数字 . 任意字母(2-5位) . 任意字母(2-5位)
* \w (\.\w+)* @ [A-z0-9] (\.[A-z]{2-5}){1-2}
* 记得加上^与$
*/
emailReg = /^\w{3,}(\.\w+)*@[A-z0-9]+(\.[A-z]{2,5}){1,2}$/;
var email = "165413@qq.com.cn";
console.log(emailReg.test(email));
true
OK~
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。