javascript中的match函數是使用正則表達式對字符串進行查找,並將查找的結果作為數組返回,在實際開發中非常的有用,使用方法如下:
stringObj.match(rgExp)
其中stringObj是必選項。對其進行查找的String 對像或字符串文字。
rgExp是必選項。為包含正則表達式模式和可用標誌的正則表達式對象。也可以是包含正則表達式模式和可用標誌的變量名或字符串文字。
如果javascript中match函數方法沒有找到匹配,返回null。如果找到匹配返回一個數組並且更新全局RegExp 對象的屬性以反映匹配結果。 JavaScript中match函數方法返回的數組有三個屬性:input、index和lastIndex。 Input 屬性包含整個的被查找字符串。 Index 屬性包含了在整個被查找字符串中匹配的子字符串的位置。 LastIndex 屬性包含了最後一次匹配中最後一個字符的下一個位置。如果沒有設置全局標誌(g),數組的0元素包含整個匹配,而第1 到n 元素包含了匹配中曾出現過的任一個子匹配。這相當於沒有設置全局標誌的exec 方法。如果設置了全局標誌,元素0到n中包含所有匹配。
下面的示例演示了js中match函數方法的用法:
function MatchDemo(){
var r, re; // 聲明變量。
var s = "The rain in Spain falls mainly in the plain";
re = /ain/i; // 創建正則表達式模式。
r = s.match(re); // 嘗試匹配搜索字符串。
return(r); // 返回第一次出現"ain" 的地方。
}
本示例說明帶g 標誌設置的js中match函數方法的用法
function MatchDemo(){
var r, re; // 聲明變量。
var s = "The rain in Spain falls mainly in the plain";
re = /ain/ig; // 創建正則表達式模式。
r = s.match(re); // 嘗試去匹配搜索字符串。
return(r); // 返回的數組包含了所有"ain"
// 出現的四個匹配。
}
下面幾行代碼演示了字符串文字的js中match函數方法的用法。
var r, re = "Spain";
r = "The rain in Spain".replace(re, "Canada");
match()方法用於從字符串中查找指定的值,本方法類似於indexOf()和lastindexOf(),不同的是它返回的是指定的值,而不是指定值在字符串中的位置。 indexOf()和lastindexOf()方法返回位置數字如果找不到返回-1。注意區分大小寫
<script type="text/javascript">
var str="Hello world!"
document.write(str.match("world") + "")
document.write(str.match("World") + "")
document.write(str.match("worlld") + "")
document.write(str.match("world!"))
</script>