日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何使用正则表达式验证电子邮件地址

發(fā)布時間:2023/12/20 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何使用正则表达式验证电子邮件地址 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

電子郵件正則表達式模式

^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$;

描述

^ #start of the line[_A-Za-z0-9-\\+]+ # must start with string in the bracket [ ], must contains one or more (+)( # start of group #1\\.[_A-Za-z0-9-]+ # follow by a dot "." and string in the bracket [ ], must contains one or more (+))* # end of group #1, this group is optional (*)@ # must contains a "@" symbol[A-Za-z0-9-]+ # follow by string in the bracket [ ], must contains one or more (+)( # start of group #2 - first level TLD checking\\.[A-Za-z0-9]+ # follow by a dot "." and string in the bracket [ ], must contains one or more (+))* # end of group #2, this group is optional (*)( # start of group #3 - second level TLD checking\\.[A-Za-z]{2,} # follow by a dot "." and string in the bracket [ ], with minimum length of 2) # end of group #3 $ #end of the line

組合方式表示,電子郵件地址必須以“ _A-Za-z0-9-\\ +”開頭,可選后跟“。[_ A-Za-z0-9--]”,并以“ @”符號結尾。 電子郵件的域名必須以“ A-Za-z0-9-”開頭,后跟第一級Tld(.com,.net)“。[A-Za-z0-9]”,并可選地后跟第二級Tld (.com.au,.com.my)“ \\。[A-Za-z] {2,}”,其中第二級Tld必須以點“。”開頭。 并且長度必須等于或大于2個字符。

1. Java正則表達式示例

這是一個Java示例,向您展示如何使用正則表達式來驗證電子郵件地址。

EmailValidator.java package com.mkyong.regex;import java.util.regex.Matcher; import java.util.regex.Pattern;public class EmailValidator {private Pattern pattern;private Matcher matcher;private static final String EMAIL_PATTERN = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"+ "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";public EmailValidator() {pattern = Pattern.compile(EMAIL_PATTERN);}/*** Validate hex with regular expression* * @param hex* hex for validation* @return true valid hex, false invalid hex*/public boolean validate(final String hex) {matcher = pattern.matcher(hex);return matcher.matches();} }

2.有效的電子郵件

1. mkyong @ yahoo.com,mkyong-100 @ yahoo.com,mkyong.100 @ yahoo.com
2. mkyong111@mkyong.com,mkyong-100@mkyong.net,mkyong.100@mkyong.com.au
3. mkyong@1.com,mkyong@gmail.com.com
4. mkyong + 100 @ gmail.com,mkyong-100 @ yahoo-test.com

3.無效的電子郵件

1. mkyong –必須包含“ @”符號
2. mkyong @ .com.my – tld不能以點“。”開頭
3. mkyong123@gmail.a –“ .a”不是有效的tld,最后一個tld必須包含至少兩個字符
4. mkyong123 @ .com – tld不能以點“。”開頭
5. mkyong123 @ .com.com – tld不能以點“。”開頭
6. .mkyong @ mkyong.com –電子郵件的首字符不能以點“。”開頭
7. mkyong()* @ gmail.com –電子郵件僅允許使用字符,數(shù)字,下劃線和破折號
8. mkyong@%*.com –電子郵件的tld僅允許使用字符和數(shù)字
9. mkyong..2002 @ gmail.com-雙點“。” 不允許
10. mkyong。@ gmail.com –電子郵件的最后一個字符不能以點“。”結尾
11. mkyong @ mkyong @ gmail.com –不允許使用雙“ @”
12. mkyong@gmail.com.1a-具有兩個字符的電子郵件的tld不能包含數(shù)字

4.單元測試

這是使用testNG的單元測試。

EmailValidatorTest.java package com.mkyong.regex;import org.testng.Assert; import org.testng.annotations.*;/*** Email validator Testing* * @author mkyong* */ public class EmailValidatorTest {private EmailValidator emailValidator;@BeforeClasspublic void initData() {emailValidator = new EmailValidator();}@DataProviderpublic Object[][] ValidEmailProvider() {return new Object[][] { { new String[] { "mkyong@yahoo.com","mkyong-100@yahoo.com", "mkyong.100@yahoo.com","mkyong111@mkyong.com", "mkyong-100@mkyong.net","mkyong.100@mkyong.com.au", "mkyong@1.com","mkyong@gmail.com.com", "mkyong+100@gmail.com","mkyong-100@yahoo-test.com" } } };}@DataProviderpublic Object[][] InvalidEmailProvider() {return new Object[][] { { new String[] { "mkyong", "mkyong@.com.my","mkyong123@gmail.a", "mkyong123@.com", "mkyong123@.com.com",".mkyong@mkyong.com", "mkyong()*@gmail.com", "mkyong@%*.com","mkyong..2002@gmail.com", "mkyong.@gmail.com","mkyong@mkyong@gmail.com", "mkyong@gmail.com.1a" } } };}@Test(dataProvider = "ValidEmailProvider")public void ValidEmailTest(String[] Email) {for (String temp : Email) {boolean valid = emailValidator.validate(temp);System.out.println("Email is valid : " + temp + " , " + valid);Assert.assertEquals(valid, true);}}@Test(dataProvider = "InvalidEmailProvider", dependsOnMethods = "ValidEmailTest")public void InValidEmailTest(String[] Email) {for (String temp : Email) {boolean valid = emailValidator.validate(temp);System.out.println("Email is valid : " + temp + " , " + valid);Assert.assertEquals(valid, false);}} }

這是單元測試結果。

Email is valid : mkyong@yahoo.com , true Email is valid : mkyong-100@yahoo.com , true Email is valid : mkyong.100@yahoo.com , true Email is valid : mkyong111@mkyong.com , true Email is valid : mkyong-100@mkyong.net , true Email is valid : mkyong.100@mkyong.com.au , true Email is valid : mkyong@1.com , true Email is valid : mkyong@gmail.com.com , true Email is valid : mkyong+100@gmail.com , true Email is valid : mkyong-100@yahoo-test.com , true Email is valid : mkyong , false Email is valid : mkyong@.com.my , false Email is valid : mkyong123@gmail.a , false Email is valid : mkyong123@.com , false Email is valid : mkyong123@.com.com , false Email is valid : .mkyong@mkyong.com , false Email is valid : mkyong()*@gmail.com , false Email is valid : mkyong@%*.com , false Email is valid : mkyong..2002@gmail.com , false Email is valid : mkyong.@gmail.com , false Email is valid : mkyong@mkyong@gmail.com , false Email is valid : mkyong@gmail.com.1a , false PASSED: ValidEmailTest([Ljava.lang.String;@15f48262) PASSED: InValidEmailTest([Ljava.lang.String;@789934d4)===============================================Default testTests run: 2, Failures: 0, Skips: 0 ===============================================

參考文獻

  • http://en.wikipedia.org/wiki/電子郵件地址
  • http://tools.ietf.org/html/rfc2822#section-3.4.1
  • 標簽: 電子郵件 正則表達式

    翻譯自: https://mkyong.com/regular-expressions/how-to-validate-email-address-with-regular-expression/

    總結

    以上是生活随笔為你收集整理的如何使用正则表达式验证电子邮件地址的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 高清视频免费在线观看 | 麻豆伦理片 | 午夜影院在线 | 波多野结衣在线视频免费观看 | 黄色福利片 | 美女的奶胸大爽爽大片 | 男人天堂1024 | 一二三不卡 | 日本免费黄视频 | 潘金莲裸体一级淫片视频 | 喷水av | 不卡的av网站 | 天天射天天拍 | 在线黄色免费网站 | 欧美在线xxxx | 91网站在线免费看 | 永久黄色网址 | 诱夫1v1高h | 高清国产一区二区 | 黄网在线 | 国产乱码精品1区2区3区 | 揄拍成人国产精品视频 | 草草影院在线 | 囯产精品一品二区三区 | 国产又爽又黄免费视频 | 精品福利在线 | 久草资源在线视频 | 日韩性插 | 在线aaa| 欧洲av在线 | 美女又爽又黄免费 | 午夜天堂视频 | 最新在线视频 | 北条麻妃99精品青青久久 | 一级一级黄色片 | 亚洲午夜精品久久久久久浪潮 | 中文字幕永久 | 天天干天天做天天操 | 爱色av网站 | 国产精品男人的天堂 | 一级大黄毛片 | 欧美在线观看视频 | 欧美高清一区二区 | 国产视频在线观看一区二区 | 国产激情久久久久久熟女老人av | 波多野结衣视频在线看 | 国产又色又爽无遮挡免费动态图 | 国产伦精品一区二区三区网站 | 好男人www社区 | 亚洲视频在线视频 | 人人草人人爱 | 成人免费激情视频 | 国产一区二三区 | 黄色免费看视频 | 黄色视屏软件 | 日本午夜一级 | av免费观看网站 | 午夜不卡久久精品无码免费 | 一区二区三区四区五区av | 欧美大屁股熟妇bbbbbb | 9人人澡人人爽人人精品 | 天天综合网天天综合 | 成人做爰www免费看视频网站 | 凸凹人妻人人澡人人添 | n0659极腔濑亚美莉在线播放播放 | 午夜影院一区 | 日韩国产精品一区 | 日本免费三级网站 | 国产日本欧美在线观看 | 亚洲精品欧洲 | 91精品91久久久中77777 | 亚洲综合久| 久久伊人婷婷 | 日本免费一区二区三区四区五六区 | 中文在线√天堂 | 欧美中文网 | 疯狂做爰的爽文多肉小说王爷 | 亚洲欧洲在线播放 | 久久精品亚洲无码 | 天天躁日日躁狠狠躁av麻豆男男 | 中文字幕在线观看网站 | 男人久久久 | 黄色av网站在线 | www.成人国产| 超碰666 | 少妇熟女高潮流白浆 | 中文字幕第22页 | 欧美精品自拍 | 美女被男人插 | 亚洲精品一级二级 | 天天射夜夜爽 | 国产在线观看免费网站 | 91国产丝袜在线播放 | 亚洲第一毛片 | 亚洲av无码精品色午夜果冻不卡 | 久久综合99| 99热最新网址 | 国产国产乱老熟女视频网站97 | 亚洲天堂2021av |