郵箱正則java
Ⅰ 求一個驗證郵箱的正則表達式,java中用
表達式比較簡單為: ^\\w+@\\w+\\.(\\w{2,3}|\\w{2,3}\\.\\w{2,3})$
^ 為開頭標志,$ 為結束標志
\\w+ 表示一個或者多個字元 其中為 小寫字母,大寫字母,數字 和 _
. 在正則表達式中表示任意一個字元。 如果需要表示本身,則需要用轉義字元\而java中\也有特殊含義,所以用雙轉義字元\\. 表示 . 本身
.後面表示一個(A|B)形式,意思是A或者B 都可以
裡面的 \\w{2,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
:與任何單詞字元匹配,包括下劃線。
$
:匹配輸入的結尾。
Ⅲ java 帶要求的驗證郵箱的正則表達式
//一般用於帳號(Email)
validator.entity.setRuleEmail("^(\\w|\\.|-|\\+)+@(\\w|-)+(\\.(\\w|-)+)+$");
貼上完整的郵箱驗證代碼:
/**
* 驗證email規則
*
* @param email
* @return
*/
publicbooleanvalidateEmail(String email)
{
return TextUtils.isEmpty(email)? false
:email.matches(entity.ruleEmail);
}
Ⅳ java 英文版QQ郵箱正則表達式怎麼寫(例如[email protected])
只匹配qq郵箱?
^[a-z_d]+(?:.[a-z_d]+)*@qq.com$
Ⅳ java怎麼通過正則表達式提取一個文件裡面的所有郵箱
package org.com.utils;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
public class ReadTxt {
static int NUM = 231;
static String[] value = new String[NUM];
public static List<String> listFriends(File file) throws InterruptedException {
List<String> listFriends = new ArrayList<String>();
int n =0;
try {
BufferedReader reader = new BufferedReader(new FileReader(file));
String line = null;
while ((line = reader.readLine()) != null) {
for (int i = 0; i < NUM; i++) {
int beginIndex = line.indexOf(" n=");
int endIndex = line.indexOf(".com");
if(beginIndex>endIndex){
System.out.println("you are wrong!!!!!!");
n=n+1;
// Thread.sleep(3000);
break;
}
if(beginIndex>-1&&endIndex>-1){
value[i] = line.substring(beginIndex, endIndex);
value[i] = value[i].replaceAll("n=", "<!--");
value[i] = value[i]
.replaceAll("e=", "--><email><receiver>");
value[i] = value[i].replaceAll("\"", "");
listFriends.add(value[i] + "@qq.com</receiver></email>");
// line = line.substring(endIndex * 2 - beginIndex + 2);
break;
}
else {
System.out.println("please go on!!!!!!");
// Thread.sleep(3000);
break;
}
}
}
reader.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
listFriends = removeDuplicateObj(listFriends);
System.out.println(n);
return listFriends;
}
public static List<String> removeDuplicateObj(List<String> list) {
Set<String> someSet = new LinkedHashSet<String>(list);
Iterator<String> iterator = someSet.iterator();
List<String> tempList = new ArrayList<String>();
int i = 0;
while (iterator.hasNext()) {
tempList.add(iterator.next().toString());
i++;
}
return tempList;
}
public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
File file = new File(
"C:\\Documents and Settings\\Administrator\\桌面\\tttttttttttttttttt.txt");
List<String> listFriends = new ArrayList<String>();
listFriends = listFriends(file);
for (String str : listFriends) {
System.out.println(str);
}
System.out.println(listFriends.size());
}
}
Ⅵ Java中的郵箱地址的規則:只能包含一個@符號,在@符號後必須由.符號…
public static void main(String[] args) throws IOException {
// 要驗證的字元串
String str = "[email protected]";
// 郵箱驗證規則
String regex = "[a-zA-Z_]{1,}[0-9]{0,}@(([a-zA-z0-9]-*){1,}\\.){1,3}[a-zA-z\\-]{1,}";
// 編譯正則表達式
Pattern pattern = Pattern.compile(regex);
// 忽略大小寫的寫法
// Pattern pat = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(str);
// 字元串是否與正則表達式相匹配
boolean rs = matcher.matches();
System.out.println(rs);
}
Ⅶ 在java的servlet中如何使用正則表達式驗證郵箱
public static boolean emailFormat(String email)
{
boolean tag = true;
final String pattern1 = "^([a-z0-9A-Z]+[-|//.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?//.)+[a-zA-Z]{2,}$";
final Pattern pattern = Pattern.compile(pattern1);
final Matcher mat = pattern.matcher(email);
if (!mat.find()) {
tag = false;
}
return tag;
}
Ⅷ java,不包含qq郵箱的正則表達式怎麼寫
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]+";的意思就是 :一到多個字元 + @ + 一到多個字元 + 點 + 一到多個字元。
正則表達式使用的好。可以解決很多問題。希望樓主能學好~~
你自己把qq郵箱的部分去掉,再執行以下的驗證
Ⅸ java 正則表達式是什麼
不同情況下的正則表達式:
匹配首尾空格的正則表達式:(^s*)|(s*$)。
匹配html標簽的正則表達式:<(.*)>(.*)</(.*)>|<(.*)/>。
配空行的正則表達式: [s| ]* 。
整數或者小數:^[0-9]+.{0,1}[0-9]{0,2}$。
只能輸入數字:"^[0-9]*$"。
只能輸入n位的數字:"^d{n}$"。
只能輸入至少n位的數字:"^d{n,}$"。
只能輸入m~n位的數字:。"^d{m,n}$"
只能輸入零和非零開頭的數字:"^(0|[1-9][0-9]*)$"。
只能輸入有兩位小數的正實數:"^[0-9]+(.[0-9]{2})?$"。
只能輸入有1~3位小數的正實數:"^[0-9]+(.[0-9]{1,3})?$"。
只能輸入非零的正整數:"^+?[1-9][0-9]*$"。
只能輸入非零的負整數:"^-[1-9][]0-9"*$。
只能輸入長度為3的字元:"^.{3}$"。
只能輸入由26個英文字母組成的字元串:"^[A-Za-z]+$"。
只能輸入由26個大寫英文字母組成的字元串:"^[A-Z]+$"。
只能輸入由26個小寫英文字母組成的字元串:"^[a-z]+$"。
只能輸入由數字和26個英文字母組成的字元串:"^[A-Za-z0-9]+$"。
只能輸入由數字、26個英文字母或者下劃線組成的字元串:"^w+$"。
驗證用戶密碼:"^[a-zA-Z]w{5,17}$"正確格式為:以字母開頭,長度在6~18之間,只能包含字元、數字和下劃線。
驗證是否含有^%&',;=?$"等字元:"[^%&',;=?$x22]+"。
只能輸入漢字:"^[u4e00-u9fa5]{0,}$"。
驗證Email地址:"^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$"。
驗證一年的12個月:"^(0?[1-9]|1[0-2])$"正確格式為:"01"~"09"和"1"~"12"。
驗證一個月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正確格式為;"01"~"09"和"1"~"31"。
匹配中文字元的正則表達式: [u4e00-u9fa5]。
匹配雙位元組字元(包括漢字在內):[^x00-xff]。
應用:計算字元串的長度(一個雙位元組字元長度計2,ASCII字元計1)String.prototype.len=function(){returnthis.replace(/[^x00-xff]/g,"aa").length;}。