濮阳杆衣贸易有限公司

主頁 > 知識庫 > 看到一個(gè)JS正則的題

看到一個(gè)JS正則的題

熱門標(biāo)簽:外呼系統(tǒng)api對接 銷售電銷機(jī)器人詐騙 大學(xué)校門地圖標(biāo)注 荊州智能電銷機(jī)器人 福建微碼電話機(jī)器人 提高電話機(jī)器人接通率 地圖標(biāo)注與公司業(yè)務(wù)關(guān)系 廣西智能外呼系統(tǒng)多少錢 平?jīng)龈叩碌貓D標(biāo)注商戶要收費(fèi)嗎
貼出來與大家共勉。

先看一段代碼,
script>
var objReg = /^[a-zA-Z]{1}(:){1}$/gi;
alert(objReg.test("a:"));//返回true
alert(objReg.test("a:"));//返回false
/script>

為什么第二個(gè)test會返回false?是不是覺得奇怪。
原因我解答如下:
test實(shí)際上與exec方法的執(zhí)行方法是一致的,只是返回值不一樣。test返回的是true or false(如果exec返回的不是null),exec返回的是pattern(匹配)。
而exec的執(zhí)行過程為:帶有g(shù)參數(shù)時(shí),下次匹配時(shí),自動(dòng)會跳到lastIndex后的位置,也就是這里的第2個(gè)位置。而這個(gè)位置與pattern顯然不匹配。因此返回false。

解決方法:
(1)
可以不使用g(全局參數(shù))也就是這樣-
script>
var objReg = /^[a-zA-Z]{1}(:){1}$/i;
alert(objReg.test("a:"));//返回true
alert(objReg.test("a:"));//返回true
/script>

(2)
可以用lastIndex=0來還原-
var objReg = /^[a-zA-Z]{1}(:){1}$/gi;
alert(objReg.test("a:"));//返回true
objReg.lastIndex=0;
alert(objReg.test("a:"));//返回true

標(biāo)簽:內(nèi)江 樂山 婁底 海南 邯鄲 衡陽 德陽 黔東

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《看到一個(gè)JS正則的題》,本文關(guān)鍵詞  看到,一個(gè),正則,的,題,看到,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《看到一個(gè)JS正則的題》相關(guān)的同類信息!
  • 本頁收集關(guān)于看到一個(gè)JS正則的題的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    花垣县| 岚皋县| 西峡县| 岫岩| 徐州市| 大英县| 准格尔旗| 始兴县| 泰州市| 平原县| 灵川县| 龙州县| 潼南县| 陇南市| 内江市| 桂阳县| 黄山市| 砚山县| 城固县| 青海省| 凤山市| 台南县| 鄂托克前旗| 尉犁县| 舞钢市| 东光县| 焦作市| 泾阳县| 喀喇沁旗| 随州市| 张掖市| 于都县| 临清市| 老河口市| 措勤县| 东光县| 锡林浩特市| 敦化市| 喀喇沁旗| 长汀县| 布尔津县|