android 校验用户名密码手机邮箱身份证邮编等
【摘要】
package com.farmlink.most.util; import java.text.SimpleDateFormat;import java.util.Date;import java.util.regex.Matcher;import java.util.regex.Pattern; import android.n...
-
package com.farmlink.most.util;
-
-
-
import java.text.SimpleDateFormat;
-
import java.util.Date;
-
import java.util.regex.Matcher;
-
import java.util.regex.Pattern;
-
-
-
import android.net.ParseException;
-
import android.text.TextUtils;
-
-
-
/**
-
* 参数校验
-
*/
-
public class ValidateParam {
-
-
-
/**
-
* 校验用户名判断:头部尾部不能使空格,不能是中文,不能使全角,不能有星号,长度6-16 其实 中文 和 全角 的 new
-
* String(charStr.getBytes("UTF-8"),"8859_1").getBytes().length=6
-
* 字母、数字、特殊符号new
-
* String(charStr.getBytes("UTF-8"),"8859_1").getBytes().length=1
-
*/
-
public static boolean validateUserName(String username) {
-
/**
-
* 长度6-16
-
*/
-
if (!((username.length() >= 6) && (username.length() <= 16))) {
-
return false;
-
}
-
/**
-
* 头部不能有空格
-
*/
-
if (username.substring(0, 1).equals(" ")) {// 头部有空格
-
System.out.println(33);
-
return false;
-
}
-
/**
-
* 未部不能有空格
-
*/
-
if (username.endsWith(" ")) {// 未部有空格
-
return false;
-
}
-
if (username.contains(" ")) {// 不能含有
-
return false;
-
}
-
/**
-
* 不能有中文
-
*/
-
Pattern pattern1 = Pattern.compile("[^\\u4E00-\\u9FA5]*"); // 不是中文
-
Matcher m1 = pattern1.matcher(username);
-
if (!m1.matches()) {
-
return false;
-
}
-
/**
-
* 不能有*号
-
*/
-
pattern1 = Pattern.compile("[^\\*]*"); // 不是*号
-
m1 = pattern1.matcher(username);
-
if (!m1.matches()) {
-
return false;
-
}
-
-
-
/**
-
* 不能是纯数字
-
*/
-
pattern1 = Pattern.compile("^[1-9]\\d*$");
-
m1 = pattern1.matcher(username);
-
return !m1.matches();
-
}
-
-
-
/**
-
* 校验用户密码:字母,数字,特殊字符,至少两种,6-16个字符
-
*/
-
public static boolean validateUserPassword(String passport) {
-
Pattern pattern1 = Pattern.compile("[0-9]*"); // 数字[0-9]+?
-
Matcher m1 = pattern1.matcher(passport);
-
pattern1 = Pattern.compile(".*[a-zA-Z].*"); // 字母
-
Matcher m2 = pattern1.matcher(passport);
-
pattern1 = Pattern.compile(".*[^a-zA-Z0-9].*"); // 非字母和数字
-
Matcher m3 = pattern1.matcher(passport);
-
pattern1 = Pattern.compile("[^\\u4E00-\\u9FA5]*"); // 不是中文
-
Matcher m4 = pattern1.matcher(passport);
-
// 长度6-16
-
if (!((passport.length() >= 6) && (passport.length() <= 16))) {
-
return true;
-
}
-
/**
-
* 纯数字
-
*/
-
if (m1.matches()) {
-
return true;
-
}
-
/**
-
* 必须是:字母和数字
-
**/
-
if (m1.matches() && m2.matches() && m4.matches()) {
-
return true;
-
}
-
/**
-
* 必须是:数字和特殊符号
-
**/
-
if (m1.matches() && m3.matches() && m4.matches()) {
-
return true;
-
}
-
/**
-
* 必须是:字母和特殊符号
-
**/
-
return m2.matches() && m3.matches() && m4.matches();
-
}
-
-
-
public static int validateUserPasswords(String passport) {
-
passport = new String(passport.getBytes());
-
java.util.regex.Pattern pattern2 = java.util.regex.Pattern.compile("[\u4e00-\u9fa5]+");
-
java.util.regex.Matcher match2 = pattern2.matcher(passport);
-
if (match2.find() == true) {
-
return 1;
-
}
-
-
-
java.util.regex.Pattern pattern3 = java.util.regex.Pattern.compile("[\\s\u4e00-\u9fa5]");
-
java.util.regex.Matcher match3 = pattern3.matcher(passport);
-
if (match3.find() == true) {
-
return 2;
-
}
-
-
-
java.util.regex.Pattern pattern4 = java.util.regex.Pattern.compile("\\*");
-
java.util.regex.Matcher match4 = pattern4.matcher(passport);
-
if (match4.find()) {
-
return 3;
-
}
-
-
-
return 0;
-
}
-
-
-
/**
-
* 校验手机
-
*/
-
public static boolean validatePhone(String phone) {
-
Pattern pattern1 = Pattern.compile("^1[34578]\\d{9}$");
-
Matcher m1 = pattern1.matcher(phone);
-
return m1.matches();
-
}
-
-
-
/**
-
* 校验邮箱
-
*/
-
public static boolean validateEmail(String email) {
-
Pattern pattern = Pattern.compile(
-
"^([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})(\\]?)$");
-
Matcher matcher = pattern.matcher(email);
-
return matcher.matches();
-
}
-
-
-
/**
-
* 判断字段是否为身份证 符合返回ture
-
* @param str
-
* @return boolean
-
*/
-
public static boolean isIdCard(String str) {
-
/**
-
* 身份证正则表达式
-
*/
-
String IDCARD="((11|12|13|14|15|21|22|23|31|32|33|34|35|36|37|41|42|43|44|45|46|50|51|52|53|54|61|62|63|64|65)[0-9]{4})" +
-
"(([1|2][0-9]{3}[0|1][0-9][0-3][0-9][0-9]{3}" +
-
"[Xx0-9])|([0-9]{2}[0|1][0-9][0-3][0-9][0-9]{3}))";
-
if(TextUtils.isEmpty(str)) return false ;
-
if(str.trim().length() == 15 || str.trim().length() == 18) {
-
return Regular(str,IDCARD);
-
}else {
-
return false ;
-
}
-
}
-
-
/**
-
* 判断字段是否为邮编 符合返回ture
-
* @param str
-
* @return boolean
-
*/
-
public static boolean isCode(String str) {
-
/**
-
* 邮编正则表达式 [0-9]\d{5}(?!\d) 国内6位邮编
-
*/
-
String CODE="[0-9]\\d{5}(?!\\d)";
-
return Regular(str,CODE) ;
-
}
-
-
/**
-
* 匹配是否符合正则表达式pattern 匹配返回true
-
* @param str 匹配的字符串
-
* @param pattern 匹配模式
-
* @return boolean
-
*/
-
private static boolean Regular(String str,String pattern){
-
if(null == str || str.trim().length()<=0)
-
return false;
-
Pattern p = Pattern.compile(pattern);
-
Matcher m = p.matcher(str);
-
return m.matches();
-
}
-
}
欢迎大家加入我的qq群:开发一群:454430053开发二群:537532956
文章来源: wukong.blog.csdn.net,作者:再见孙悟空_,版权归原作者所有,如需转载,请联系作者。
原文链接:wukong.blog.csdn.net/article/details/77480989
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)