//正则表达
public static final String REG_NUMBER = ".*\\d+.*"; //0-9整数
public static final String REG_UPPERCASE = ".*[A-Z]+.*"; //大写英文A-Z
public static final String REG_LOWERCASE = ".*[a-z]+.*"; //小写a-z
public static final String REG_SYMBOL = ".*[=+-^$*.\\[\\]{}()?\"!@#%&/\\\\,><':;|_~`]+.*"; //特殊符号
//判断密码是否符合正则表达的方法
//然后再把这个方法放在想使用的位置上进行判断就行。
public boolean checkPwd(String password) {
if (password == null || password.length() < 8)
return false;
int i = 0;
if (password.matches(REG_NUMBER)) i++;
if (password.matches(REG_LOWERCASE)) i++;
if (password.matches(REG_UPPERCASE)) i++;
if (password.matches(REG_SYMBOL)) i++;
return i >= 4;
}
//比方说实现一个edittext检测密码是否符合规定的功能,
EditText edit_text;
String password;
edit_text.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void afterTextChanged(Editable editable) {
password = editable.toString();
}
});
confirm.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(checkPwd(password)){
Intent intent = new Intent(Activity0003.this, Activity0004.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}else{
//如果正确跳转不正确就做相应的事情。
}
}
});
分享几个正则表达式的写法,以及使用方式
于 2022-06-01 15:28:10 首次发布