Re: [問題] 請教一下這行程式碼是什麼意思

看板Web_Design作者 ( ^-^)時間19年前 (2005/05/16 16:20), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
這是 Regular Expression(RE) 其中的兩個斜線 // 是宣告 RE 用的 例如 var aRE = /this is a regluar expression/; Regular Expression 是用來尋找/比對/取代某種特徵的字串用的 比方說上面的 aRE, 我們可以用 aRE 來檢查一個字串中有沒有 "this is a regular expression" 例如, aRE.test("blah blah blathis is a regular expressionblah"); 至於斜線後面的 i 是 modifier, 代表比對的時候忽略大小寫 所以 /perl/i 可以比對到 Perl pErl perL PERL 等 反斜線點 (\.) 就是代表點(.) 因為在 RE ,點(.)有特殊意義 所以當我們真的要檢查字串中有沒有點(.)的時候, RE 告訴我們在前面加一個反斜線 (\) 就行了 最後,在 RE 中 中括號 ([]) 也是有特殊意義的 簡單的用中文說他代表比對括號中任一個字元的其中一個 所以 /5\.[56789]/ 可以找到 5.5 5.6 5.7 5.8 5.9,但是找不到 5.1 5.2 5.X 5.% 結論就是, var ie55 = /msie 5\.[56789]/i.test( navigator.userAgent ); 可以不管大小寫地找到 "msie 5.5" "msie 5.6" "msie 5.7" "msie 5.8" "msie 5.9" 當 navigator.userAgent 中含有這些字串的時候, 我們就把這個 browser 視為 ie55 這就是這整句話說的故事。 ※ 引述《invers0412 (@@)》之銘言: : var ie55 = /msie 5\.[56789]/i.test( navigator.userAgent ); : 我知道是在作判斷browser version, 但是語法不懂 -- ╭════┬════┬════┬════┬════┬═─╭═╮╮ ║████ █▋◢█████ ███◣███◣ █▋║│ ║◤██◥███◤╰╮██ █◣ █ █◣ ◤█▋◢█║│ ╰╮██╭╯███◣╭╯██ ███◥█◤ ◣◥██◤╰╮ │║██║│█▋◥██████◥█◣ ████╰╮██ ║ ╰╰══┴┴════┴════┴════┴════┴╰════╯ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.52

220.228.96.198 05/16, , 1F
感謝<(_ _)>
220.228.96.198 05/16, 1F
文章代碼(AID): #12Y5VaDD (Web_Design)
文章代碼(AID): #12Y5VaDD (Web_Design)