java郵箱格式
1. 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
:與任何單詞字元匹配,包括下劃線。
$
:匹配輸入的結尾。
2. 如何用JAVA語句判斷郵箱的正確格式
package com.test;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class StringTest {
public static void main(String[] args) {
Pattern p = Pattern.compile("^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\\.([a-zA-Z0-9_-])+)+$");
Matcher m = p.matcher("[email protected]");
//Mather m = p.matcher("[email protected]");這種也是可以的!
boolean b = m.matches();
System.out.print(b);//true
}
}
3. java怎麼判斷郵箱格式
package com.test;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class StringTest {
public static void main(String[] args) {
Pattern p = Pattern.compile("^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\\.([a-zA-Z0-9_-])+)+$");
Matcher m = p.matcher("[email protected]");
//Mather m = p.matcher("[email protected]");這種也是可以的!
boolean b = m.matches();
System.out.print(b);//true
}
}
4. 分別判斷 Java 文件名與郵箱格式是否正確。合法的文件名應該以 .java 結尾
合法的java名應該以.java結尾,文件名1正確,文件名2不正確,郵箱名1正確,郵箱名2不正確
5. java 中如何判斷郵件格式的正確性
如果是伺服器後台代碼的話呢,可以用正則表達式比如
String RULE_EMAIL = "^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$";
前台頁面的話呢,某些前端框架都是有寫好郵箱的輸入框的
6. 如何用java檢驗電子郵箱格式的合法性要用到String的方法來判斷
自己寫邏輯驗證的方式可以做到。我寫了下面的:
public static boolean validateEmail(String email) {
boolean flag = false;
int pos = email.indexOf("@");
if (pos == -1 || pos == 0 || pos == email.length() - 1) {
return false;
}
String[] strings = email.split("@");
if (strings.length != 2) {// 如果郵箱不是xxx@xxx格式
return false;
}
CharSequence cs = strings[0];
for (int i = 0; i < cs.length(); i++) {
char c = cs.charAt(i);
if (!Character.isLetter(c) && !Character.isDigit(c)) {
return false;
}
}
pos = strings[1].indexOf(".");// 如果@後面沒有.,則是錯誤的郵箱。
if (pos == -1 || pos == 0 || pos == email.length() - 1) {
return false;
}
strings = strings[1].split(".");
for (int j = 0; j < strings.length; j++) {
cs = strings[j];
if (cs.length() == 0) {
return false;
}
for (int i = 0; i < cs.length(); i++) {//如果保護不規則的字元,表示錯誤
char c = cs.charAt(i);
if (!Character.isLetter(c) && !Character.isDigit(c)) {
return false;
}
}
}
return true;
}
這個效率也不會差很多,不過我推薦matches方法,經過測試的,matches匹配方式運行10000次的時間比上面的時間少了20毫秒。
7. 如何判斷一個java文件和郵箱格式是否合法
System.out.print(請輸入你的郵箱:);
String str2= input.next();
int m = str2.indexOf('@'); //檢查是否有@字元,用m來接收@出現的索引
int n = str2.indexOf('.'); //檢查是否有』.『字元