作者TKirby ( ^-^)
看板Web_Design
标题Re: [问题] 请教一下这行程式码是什麽意思
时间Mon May 16 16:29:56 2005
这是 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
1F:推 invers0412:感谢<(_ _)> 220.228.96.198 05/16