正則在FireFox和IE下使用test的不同
更新時(shí)間:2009年05月27日 17:23:56 作者:
今天同事遇到這樣的問(wèn)題,查明原因.記下
由于FireForx和IE的執(zhí)行javascript的引擎不同,所以會(huì)有些不同。以下的例子
復(fù)制代碼 代碼如下:
<script language="javascript" type="text/javascript">
function fun(){
document.write(/a/gi.test("a"));
}
fun()
fun()
</script>
在IE的執(zhí)行結(jié)果是:truetrue
在FireFox的執(zhí)行結(jié)果是:truefalse
在正則中/expression/gi,g是表示global全局,i是表示不區(qū)分大小寫(xiě)。
一般global屬性為true,做test應(yīng)用不好.所以/a/gi意味著多個(gè)搜索
而test是單次匹配。正確的應(yīng)該寫(xiě)/a/i,或/a/.
FireFox規(guī)范點(diǎn)了!
相關(guān)文章
WEB開(kāi)發(fā)時(shí)常用的正則表達(dá)式(PHP和Javascript)
這篇文章主要介紹了WEB開(kāi)發(fā)中最常用最實(shí)用的正則表達(dá)式及其用法,需要的朋友可以參考下2015-10-10
JavaScript系列文章:詳解正則表達(dá)式基本知識(shí)
正則表達(dá)式是一個(gè)精巧的利器,經(jīng)常用來(lái)在字符串中查找和替換,這篇文章主要介紹了js正則表達(dá)式基本語(yǔ)法,有興趣的同學(xué)可以了解一下。2016-12-12
JS 正則表達(dá)式(學(xué)習(xí)筆記2)匹配網(wǎng)址url參數(shù)
呵呵,剛學(xué)習(xí)正則表達(dá)式,今天幫一個(gè)美女解決了個(gè)問(wèn)題。感到很高興。先貼下今天都學(xué)了什么吧。不然忘記了。2010-05-05
編寫(xiě)高質(zhì)量的js之正確理解正則表達(dá)式回溯
在正則表達(dá)式實(shí)現(xiàn)中,回溯是匹配過(guò)程的基本組成部分,它是正則表達(dá)式如此好用和強(qiáng)大的根源。然而,回溯計(jì)算代價(jià)很高,如果設(shè)計(jì)失誤,將導(dǎo)致失控。回溯是影響整體性能的唯一因素,理解它的工作原理,以及如何減小使用頻率,可能是編寫(xiě)高效正則表達(dá)式的關(guān)鍵點(diǎn)2016-12-12
關(guān)于IE的RegExp.exec的問(wèn)題
問(wèn)題:"A[B]C[D]E[F]G"將其分為兩個(gè)數(shù)組,分別是 ACEG 和 [B][D][F].2010-03-03

