在做項目的時候,輸入信息相關的地方少不了要進行信息校驗,我總結了一下我用到的校驗方式
電話 (11位號碼)如:135********
public static boolean regexPhoneNumber(String phoneNum) {
// 電話號碼匹配結果
boolean isPhoneNum_matcher = phoneNum.matches("1[34578]\\d{9}");
// 如果isPhoneNum_matcher is true , 則return true , else return false
if (isPhoneNum_matcher)
return true;
return false;
}
郵箱
/**
* 郵箱正則驗證:"[a-zA-Z_0-9]+@[a-zA-Z0-9]+(\\.[a-zA-Z]{2,}){1,3}" '@'號前沒有點'.'
* 郵箱正則驗證:"^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$" '@'號前有點'.'
*
* param email
* 傳入的參數僅僅是一個郵箱地址時,調用此方法
* return 如果匹配正確,return true , else return false
*/
// 如果傳進來的是郵箱地址,則對郵箱進行正則匹配
public static boolean regexEmailAddress(String email) {
// 郵箱匹配結果
boolean isEmail_matcher = email.matches("^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$");
// 如果isEmail_matcher value is true , 則 return true , else return false
if (isEmail_matcher)
return true;
return false;
}
/**
*
* param qqNum
* 傳入的QQ
* return 如果匹配正確,return true, else return false
*/
public static boolean regexQQNumber(String qqNum) {
// QQ號匹配結果
boolean isQQNum_matcher = qqNum.matches("[1-9]\\d{2,11}");
if (isQQNum_matcher)
return true;
return false;
}
郵編
public static boolean checkpostalcode(String postalcode) {
boolean ispostalcode_matcher = postalcode.matches("[1-9]\\d{5}(?!\\d)");
if (ispostalcode_matcher)
return true;
return false;
}
IC Card
public static boolean checkICCard(String cardNumber) {
boolean iscardNumber_matcher = cardNumber.matches("[1-9]\\d{5}(?!\\d)");
if (iscardNumber_matcher)
return true;
return false;
}
對於6到20位包含幾種特殊字符(!#%*等)密碼 的驗證
public static boolean regexPassWord(String pwd) {
// 密碼匹配結果
// boolean isPassWord_matcher = pwd.matches("^([A-Z]|[a-z]|[0-9]){6,20}$");
//^[\@A-Za-z0-9\!\#\$\%\^\&\*\.\~]{6,22}$
boolean isPassWord_matcher = pwd.matches("^[\\@A-Za-z0-9\\!\\#\\$\\%\\^\\&\\*\\.\\~]{6,20}$");
if (isPassWord_matcher)
return true;
return false;
}