android 表單校驗工具類
import java.util.regex.Pattern;/** * 表單校驗工具類 * * @author sunger * */ public class FormValidation { /** * 手機號校驗 注:1.支持最新170手機號碼 2.支持+86校驗 * * @param phoneNum * 手機號碼 * @return 驗證通過返回true */ public static boolean isMobile(String phoneNum) { if (phoneNum == null) return false; // 如果手機中有+86則會自動替換掉 return validation("^[1][3,4,5,7,8][0-9]{9}$", phoneNum.replace("+86", "")); } /** * 用戶名校驗,默認用戶名長度至少3個字符,最大長度為15<br> * 可修改正則表達式以實現不同需求 * * @param username * 用戶名 * @return */ public static boolean isUserName(String username) { /*** * 正則表達式為:^[a-z0-9_-]{3,15}$ 各部分作用如下: [a-z0-9_-] ----------- * 匹配列表中的字符,a-z,0–9,下劃線,連字符 {3,15}-----------------長度至少3個字符,最大長度為15 * 如果有不同需求的可以參考以上修改正則表達式 */ return validation("^[a-z0-9_-]{3,15}$", username); } /** * 密碼校驗 * 要求6-16位數字和英文字母組合 * @param pwd * @return */ public static boolean isPassword(String pwd) { /** * ^ 匹配一行的開頭位置(?![0-9]+$) 預測該位置后面不全是數字 * (?![a-zA-Z]+$) 預測該位置后面不全是字母 * [0-9A-Za-z] {6,16} 由6-16位數字或這字母組成 */ return validation("^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$", pwd); } /** * 郵箱校驗 * * @param mail * 郵箱字符串 * @return 如果是郵箱則返回true,如果不是則返回false */ public static boolean isEmail(String mail) { return validation( "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$", mail); } /** * 正則校驗 * * @param pattern正則表達式 * @param str * 需要校驗的字符串 * @return 驗證通過返回true */ public static boolean validation(String pattern, String str) { if (str == null) return false; return Pattern.compile(pattern).matcher(str).matches(); } } </pre>
本文由用戶 wdey 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!