1. js 如何正則匹配多個,像php 的preg_match()
javaScript中的 match() 方法可以實現
match() 方法可在字元串內檢索指定的值,或找到一個或多個正則表達式的匹配。
stringObject.match(searchvalue)
stringObject.match(regexp)
參數說明
searchvalue 必需。規定要檢索的字元串值。
regexp 必需。規定要匹配的模式的 RegExp 對象。如果該參數不是 RegExp 對象,則需要首先把它傳遞給 RegExp 構造函數,將其轉換為 RegExp 對象。
返回值
存放匹配結果的數組。該數組的內容依賴於 regexp 是否具有全局標志 g。
其他說明
match() 方法將檢索字元串 stringObject,以找到一個或多個與 regexp 匹配的文本。這個方法的行為在很大程度上有賴於 regexp 是否具有標志 g。
如果 regexp 沒有標志 g,那麼 match() 方法就只能在 stringObject 中執行一次匹配。如果沒有找到任何匹配的文本, match() 將返回 null。否則,它將返回一個數組,其中存放了與它找到的匹配文本有關的信息。該數組的第 0 個元素存放的是匹配文本,而其餘的元素存放的是與正則表達式的子表達式匹配的文本。除了這些常規的數組元素之外,返回的數組還含有兩個對象屬性。index 屬性聲明的是匹配文本的起始字元在 stringObject 中的位置,input 屬性聲明的是對 stringObject 的引用。
如果 regexp 具有標志 g,則 match() 方法將執行全局檢索,找到 stringObject 中的所有匹配子字元串。若沒有找到任何匹配的子串,則返回 null。如果找到了一個或多個匹配子串,則返回一個數組。不過全局匹配返回的數組的內容與前者大不相同,它的數組元素中存放的是 stringObject 中所有的匹配子串,而且也沒有 index 屬性或 input 屬性。
注意:在全局檢索模式下,match() 即不提供與子表達式匹配的文本的信息,也不聲明每個匹配子串的位置。如果您需要這些全局檢索的信息,可以使用 RegExp.exec()。
例如:
我們將使用全局匹配的正則表達式來檢索字元串中的所有數字:
<script type="text/javascript">
var str="1 plus 2 equal 3"
document.write(str.match(/\d+/g))
</script>
輸出:
1,2,3
2. JS match() 方法
js中match函數方法是使用正則表達式模式對字元串執行查找,並將包含查找的結果作為數組返回。使用方法:
stringObj.match(rgExp)
其中stringObj是必選項。對其進行查找的 String 對象或字元串文字。
rgExp是必選項。為包含正則表達式模式和可用標志的正則表達式對象。也可以是包含正則表達式模式和可用標志的變數名或字元串文字。
如果js中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>
3. js str.match 正則匹配返回了a,b,c 這是個數組嗎怎麼變成[a,b,c]形式
是的,這本身是個數組,不需要再變。
4. js數組常見操作及數組與字元串相互轉化實例詳解
js數組常見操作及數組與字元串相互轉化實例詳解數組與字元串的相互轉化:
字元串轉數組:
注意:join方法參數為空字元串時,會直接將數組元素連接,無分隔符。
常見的數組操作:
創建數組:
訪問數組元素:
添加數組元素:
刪除數組元素:
插入數組元素:
截取數組:
合並數組:
排序數組:
數組拷貝:
數組對象屬性:
理解並掌握這些數組操作和字元串轉化的方法,可以極大地提升JavaScript編程中的數據處理效率和代碼可讀性。
5. js里match匹配的數組里元素出現單引號,怎麼去掉
var obj = eval('('+m[3]+')');
obj['b'] 就是你要的