⑴ java :從控制台輸入一個字元串,驗證是不是郵箱
自定了一個合法郵箱規則,希望能幫助理解。代碼如下:import java.util.Scanner;public class Test {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("請輸入一個郵箱地址:");String mail = sc.nextLine();/* 設定郵箱地址的合法規則,合法郵箱地址要求如下: (1)字元必須是英文或數字開始 (2)必須包含一個@ (3)@符號在. 符號前面 (4)以英文或數字結尾 */ //設置一個正則表達式 String reg = "[\w]+@[\w]+.[\w]+"; //告知此字元串是否匹配給定的正則表達式。if(mail.matches(reg)) {System.out.println("郵箱地址合法!");}else {System.out.println("郵箱地址不合法!");}}}這里主要是採用正則表達式的方式。
關於正則表達式,查看Pattern類和Matcher類。樓主可以可以到網上查看下相關資料。解釋下上面的正則表達式String reg = "[\w]+@[\w]+.[\w]+";w 表示單詞字元:[a-zA-Z_0-9],上面是兩個反斜桿是因為反斜桿是轉義字元 +號表示:出現一次或多次 ,所以[\w]+意思就是一到多個單詞字元(英文或數字)@ :直接表示@字元.:表示點字元綜上所述。String reg = "[\w]+@[\w]+.[\w]+";的意思就是 :一到多個字元 + @ + 一到多個字元 + 點 + 一到多個字元。正則表達式使用的好。
合法E-mail地址: 1. 必須包含一個並且只有一個符號「@」 2. 第一個字元不得是「@」或者「.」 3. 不允許出現「@.」或者.@ 4. 結尾不得是字元「@」或者「.」 5. 允許「@」前的字元中出現「+」 6. 不允許「+」在最前面,或者「+@」
⑵ 求一個Java郵箱匹配正則表達式!!謝謝咯!!
^[A-Za-z0-9][\\w\\-\\.]{3,12}@([\\w\\-]+\\.)+[\\w]{2,3}$
本人測試過的,
以英文字母數字開頭結尾,賬號部分4-13個字元,可出現字母,數字,短橫線,點
域名部分,可出現二級域名,3級域名等等,以2到3個字元的字母數字結尾
⑶ JAVA中寫郵箱格式的正則表達式,怎麼寫
合法E-mail地址:
1.
必須包含一個並且只有一個符號「@」
2.
第一個字元不得是「@」或者「.」
3.
不允許出現「@.」或者.@
4.
結尾不得是字元「@」或者「.」
5.
允許「@」前的字元中出現「+」
6.
不允許「+」在最前面,或者「+@」
正則表達式如下:
-----------------------------------------------------------------------
^(\w+((-\w+)|(\.\w+))*)\+\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$
-----------------------------------------------------------------------
字元描述:
^
:匹配輸入的開始位置。
\:將下一個字元標記為特殊字元或字面值。
*
:匹配前一個字元零次或幾次。
+
:匹配前一個字元一次或多次。
(pattern)
與模式匹配並記住匹配。
x|y:匹配
x
或
y。
[a-z]
:表示某個范圍內的字元。與指定區間內的任何字元匹配。
\w
:與任何單詞字元匹配,包括下劃線。
$
:匹配輸入的結尾。