→ satoshi3:感謝說明!!! 04/05 13:01
→ satoshi3:不知是否能請問/^\w{3,}@\w+\.(tw|com)$/i.test 04/05 13:01
→ satoshi3:(EmailString)這行的詳細解說呢?剛學還不大懂Q_Q 04/05 13:02
→ satoshi3:\w是任意字元(英數底線等)~{3,}表3位元~但,的意義是? 04/05 13:03
a{3} 為剛好3個連續的a
a{3,5} 為3~5個連續的a皆可
a{3,} 為3個以上連續的a皆可
所以 \w{3,} 是匹配"'@'前至少3字元以上"這個規則
→ satoshi3:$/i.test~還有這行條件內各個斜線的的意思是? 04/05 13:04
這邊是呼叫RegExp物件的test方法
/斜線是宣告的格式
\是escape或者像\w
→ satoshi3:(EmailString)表示驗證EmailString的值我還明白O_O 04/05 13:05
JavaScript的正規表達式宣告方法為
var re = new RegExp('pattern', 'flag');
var re = /pattern/flag;
就像Array的宣告一樣,有另一種寫法
var items = new Array();
var items = [];
所以 /^\w{3,}@\w+\.(tw|com)$/i
pattern 部分為 ^\w{3,}@\w+\.(tw|com)$
flag 部分為 i
flag這邊比較單純,i是忽略大小寫
pattern大概是這樣
^ 開頭匹配
$ 結尾匹配
\w{3,} @之前至少3個以上\w字元
@ 就是@
\w+ @之後至少一個\w字元
\. 就是.
(tw|com)在正規要匹配多個有序字串的可能時,必須要用()做sub pattern
|代表or,因此後面可以是 tw 也可以是 com
另外()的用途很多,不限定這樣用而已~
比較細節的規則和說明可以看一下
我用來教學的參考網站XD
http://www.visibone.com/regular-expressions/
※ 編輯: No 來自: 140.134.26.22 (04/05 13:54)
推 satoshi3:再次感謝詳細說明~我懂了Q[]Q!!!(跪) 04/05 21:06