Ajax 板


LINE

※ 引述《satoshi3 (Ayanami Satoshi)》之銘言: : 驗證email格式 : 同時含有'@'和'.'字元 : '@'後必須有'.',且中間至少間隔一個字元 你容許的字元應該要再定義一下比較清楚 : '@'不為第一個字元,'.'不為最後一個字元 : '@'前至少3字元以上 : 須為'.com'結尾 : 語法是這樣 : var EmailString=document.MyForm.MyEmail.value; : var strLength=EmailString.length; : var index1=EmailString.indexOf("@"); : var index2=EmailString.indexOf(".",index1); : index3=EmailString.indexOf(".com",EmailString.length-4); : (其實index3這行我不確定究竟要不要var 因為剛試發現都跑得出來) : 宣告變數後 再設定以下條件就可以完成 : if(index1==-1 || index2==-1 || index2<=index1+1 || index1==0 || : index2==strLength-1 || index1<3 || index3!=(EmailString.length-4)) 這種驗證建議可以用正規表達式 會比較輕鬆愉快 假設你容許的字元是英文大小寫 + 數字 + 底限 if(/^\w{3,}@\w+\.(tw|com)$/i.test(EmailString)){ //pass } else{ //not pass } : 我現在的問題在於 如果要將條件修改為 : "驗證結尾必須是.tw或.com" 該怎麼寫比較好? : 我頂多只知道如何只驗證為.com結尾 卻不知如何設定同時驗證是否為.com或.tw的條件 用正規表達式的話 如果需要允許更多種結尾,例如加上 .org 和 .edu 只要修改成這樣就可以了 /^\w{3,}@\w+\.(tw|com|org|edu)$/ 不用正規表達式的話... 這題我要跳過了XDD --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.170.138.18 ※ 編輯: No 來自: 118.170.138.18 (04/05 03:17)
1F:→ satoshi3:感謝說明!!! 04/05 13:01
2F:→ satoshi3:不知是否能請問/^\w{3,}@\w+\.(tw|com)$/i.test 04/05 13:01
3F:→ satoshi3:(EmailString)這行的詳細解說呢?剛學還不大懂Q_Q 04/05 13:02
4F:→ 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字元以上"這個規則
5F:→ satoshi3:$/i.test~還有這行條件內各個斜線的的意思是? 04/05 13:04
這邊是呼叫RegExp物件的test方法 /斜線是宣告的格式 \是escape或者像\w
6F:→ 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)
7F:推 satoshi3:再次感謝詳細說明~我懂了Q[]Q!!!(跪) 04/05 21:06







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:e-shopping站內搜尋

TOP