一、正则表达式(字符串方法)
1、在javascript中,正则表达式通常用于两个字符串方法:search()和replace()
Search()方法,用于检索字符串中指定的子字符串,或检索与正则表达式匹配的子字符串,并返回子串的起始位置。
例如:
<!DOCTYPE html>
<html>
<head>
<title>search()正则表达式使用</title>
<metacharset="UTF-8">
<metaname="viewport" content="width=device-width,initial-scale=1.0">
<script>
function myfunction(){
var str = "VisitRunoob!";
var n =str.search("Runoob");
document.getElementById("demo").innerHTML=n;
}
</script>
</head>
<body>
<div>
<p>搜索字符串"runoob",并显示匹配的起始位置</p>
<buttonοnclick="myfunction()">点我</button>
<p id="demo"></p>
</body>
</html>
当点击按钮显示结果为6;
replace()方法,用在字符串中用一些字符替换另一些字符,或替换一个与正则表达是匹配的字串。
例如:
<!DOCTYPE html>
<html>
<head>
<title>replace()正则表达式使用</title>
<meta charset="UTF-8">
<meta name="viewport"content="width=device-width, initial-scale=1.0">
<script>
function setFunction(){
var str = document.getElementById("demo1").
innerHTML;
var txt = str.replace("Microsoft","Runoob");
document.getElementById("demo1").innerHTML=txt;
}
</script>
</head>
<body>
<div>
<p>替换"Microsoft"为"Runoob";</p>
<buttonοnclick="setFunction()">点击</button>
<p id="demo1">请访问"Microsoft"</p>
</div>
</body>
</html>
当点击按钮点击时候,Microsoft变为Runoob;
2、正则表达式修饰符
i:执行对大小写不敏感的匹配。
g:执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)
m:执行多行匹配
3、正则表达式模式
方括号用于查找某个范围内的字符:
[abc]:查找方括号之间的任何字符
[0-9]:查找任何从0到9的数字
[x|y]:查找任何以|分隔的选项
原字符是拥有特殊含义的字符:
\d:查找数字
\s:查找空白字符
\b:匹配单词边界
\uxxxx:查找以十六进制数xxxx规定的Unicode字符
量词:
n+:匹配任何包含至少一个n的字符串
n*:匹配任何包含零个或多个n的字符串
n?匹配任何包含零个或一个n的字符串
4、使用RegExp对象
(1)test()方法是一个正则表达式方法。
test()方法用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回true,否则返回false.
例如以下用于搜索字符串中的字符“e”
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>正则表达式中test()</title>
</head>
<body>
<script>
var patt1=new RegExp("e");
document.write(patt1.test("The world is beautiful!"));
</script>
</body>
</html>
字符串中含有“e”,所以该实例输出为:true
注:可以不用设置正则表达式的变量,以上两行代码可以合并为一行:
/e/.test(“The world is beautiful!”);
(2)exec()方法是一个正则表达式方法。
exec()方法用户检索字符串中的正则表达式的匹配。
该函数返回同一个数组,其中存放匹配的结果,如果未找到匹配,则返回值为null
以下示例用于搜索字符传中的字母“e”
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>exec()使用</title>
</head>
<body>
<script>
var patt1=new RegExp("e");
document.write(patt1.exec("The world is beautiful!"));
</script>
</body>
</html>