本篇教程主要讲述了简单地在JavaScript中使用正则表达式,来快速简便地处理字符串,已达到网页的要求。
1.正则表达式的格式
/正则表达式主体/修饰符(可选)
举例
var patt = /runoob/i
(1)其中等号的右边中runoob就是正则表达式的主体,也就是所要搜索进行匹配的字符串,比较容易理解的说法就是:要以这个runoob为目标去到较长的字符串中进行匹配。
(2)其中 i 就是一个修饰符,修饰符的意义就是表名搜索匹配的要求,比如是否区分大小写,在此处的意义就是表示不区分大小写来进行搜索。
其他的修饰符还有
i 执行对大小写不敏感的匹配。
g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m 执行多行匹配。
2.内置方法(函数)
在 JavaScript 中,正则表达式通常用于两个字符串方法 : search() 和 replace()。
search() 方法 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。
var str = "Visit Runoob!"; var n = str.search("Runoob");
结果返回6
replace() 方法 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
demo值为“hello microsoft ” var str = document.getElementById("demo").innerHTML; var txt = str.replace(/microsoft/i,"Runoob");
此时txt的值就是“hello Runoob”
3.RegExp对象
在JavaScript中可以使用内置的RegExp对象来进行正则表达式的一系列操作。最主要的就是test()函数,和execl()函数。
test() 方法用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false。简单来说就是作用就是检测是否含有某一字符串。
以下实例用于搜索字符串中的字符 "e":
var patt = /e/; patt.test("The best things in life are free!"); 因为引号中的字符串存在e,所以返回值就是true。
exec() 方法是一个正则表达式方法。
exec() 方法用于检索字符串中的正则表达式的匹配。
该函数返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。
以下实例用于搜索字符串中的字母 "e":
/e/.exec("The best things in life are free!");
字符串中含有 "e",所以该实例输出为:
e
4.其实,正则表达式还有其他的表达格式,还有元字符,比较复杂,再次就不在赘述了。