1. 程式人生 > >java郵箱正則表示式

java郵箱正則表示式

package com.Janson.test;

/**
 * @author Janson
 */

import java.util.regex.*;

public class test {
     public static boolean checkEmaile(String emaile){
            /**
             *   正則表示式實用規則
             *   ^匹配輸入字串的開始位置 
             *   $結束的位置
             *   \轉義字元 eg:\. 匹配一個. 字元  不是任意字元 ,轉義之後讓他失去原有的功能
             *   \t製表符
             *   \n換行符
             *   \\w匹配字串  eg:\w不能匹配 因為轉義了
             *   \w匹配包括字母數字下劃線的任何單詞字元
             *   \s包括空格製表符換行符
             *   *匹配前面的子表示式任意次
             *   .小數點可以匹配任意字元
             *   +表示式至少出現一次
             *   ?表示式0次或者1次
             *   {10}重複10次
             *   {1,3}至少1-3次
             *   {0,5}最多5次
             *   {0,}至少0次 不出現或者出現任意次都可以 可以用*號代替
             *   {1,}至少1次  一般用+來代替
             *   []自定義集合     eg:[abcd]  abcd集合裡任意字元
             *   [^abc]取非 除abc以外的任意字元
             *   |  將兩個匹配條件進行邏輯“或”(Or)運算 
             *   [1-9] 1到9 省略123456789
             *    郵箱匹配 eg: ^[a-zA-Z_]{1,}[0-9]{0,}@(([a-zA-z0-9]-*){1,}\.){1,3}[a-zA-z\-]{1,}$ 
             *          
             */
            String RULE_EMAIL = "^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$";
            //正則表示式的模式 編譯正則表示式
            Pattern p = Pattern.compile(RULE_EMAIL);
            //正則表示式的匹配器
            Matcher m = p.matcher(emaile);
            //進行正則匹配
            return m.matches();  
        }   
     public static void main(String[] args) {
        System.out.println(checkEmaile("
[email protected]
")); System.out.println(checkEmaile("[email protected]")); System.out.println(checkEmaile("[email protected]")); System.out.println(checkEmaile("[email protected]")); } }

如有錯誤歡迎指正!