//一般用于帳號(Email)
成都創(chuàng)新互聯(lián)公司服務(wù)項目包括虹口網(wǎng)站建設(shè)、虹口網(wǎng)站制作、虹口網(wǎng)頁制作以及虹口網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,虹口網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到虹口省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
validator.entity.setRuleEmail("^(\\w|\\.|-|\\+)+@(\\w|-)+(\\.(\\w|-)+)+$");
貼上完整的郵箱驗證代碼:
/**
* 驗證email規(guī)則
*
* @param email
* @return
*/
publicbooleanvalidateEmail(String email)
{
return TextUtils.isEmpty(email)? false
:email.matches(entity.ruleEmail);
}
自己寫邏輯驗證的方式可以做到。我寫了下面的:
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++) {//如果保護(hù)不規(guī)則的字符,表示錯誤
char c = cs.charAt(i);
if (!Character.isLetter(c) !Character.isDigit(c)) {
return false;
}
}
}
return true;
}
這個效率也不會差很多,不過我推薦matches方法,經(jīng)過測試的,matches匹配方式運行10000次的時間比上面的時間少了20毫秒。
for(int i=1;i=a.length();i++)
{
d=a.substring(i-1,i);
if(d.equals("@."))
{
return false;
}
}
這個循環(huán)判定完是有@.返回false不對的,用判定"@."是否存在好一些
if(!a.contains("@."))
{
return false;
}