定义和用法
match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
如果想了解更多正则表达式教程请查看本站的: RegExp 教程 和我们的 RegExp 对象参考手册。
注意:
match()方法将检索字符串 String Object,以找到一个或多个与 regexp 匹配的文本。这个方法的行为在很大程度上有赖于 regexp 是否具有标志 g。
如果 regexp 没有标志 g,那么
match()方法就只能在 stringObject 中执行一次匹配。如果没有找到任何匹配的文本,
match()将返回 null。否则,它将返回一个数组,其中存放了与它找到的匹配文本有关的信息。
语法
string.match(regexp)
参数值
| 参数 | 描述 |
|---|---|
| regexp | 必需。规定要匹配的模式的 RegExp 对象。如果该参数不是 RegExp 对象,则需要首先把它传递给 RegExp 构造函数,将其转换为 RegExp 对象。 |
返回值
| 类型 | 描述 |
|---|---|
| Array | 存放匹配结果的数组。该数组的内容依赖于 regexp 是否具有全局标志 g。 如果没找到匹配结果返回 null 。 |
浏览器支持
所有主要浏览器都支持 match() 方法
实例 1
全局查找字符串 “ain”,且不区分大小写:
<p id="demo">单击按钮显示 matches。</p>
<button onclick="myFunction()">点我</button>
<script>
function myFunction(){
var str = "The rain in SPAIN stays mainly in the plain";
var n=str.match(/ain/gi);
document.getElementById("demo").innerHTML=n;
}
</script>
程序运行结果:
ain,AIN,ain,ain
实例 2
判断是否微信浏览器:
function is_weixn(){
var ua = navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i)=="micromessenger") {
return true;
} else {
return false;
}
}
if( is_weixn() ) {
document.write("微信浏览器")
} else {
document.write("其他浏览器")
}