本文出自:http://blog.csdn.net/dt235201314/article/details/78804754
一丶概述
新的简单需求,修改后密码包含8到16位数字字母。
基础知识:Java 正则表达式
正则表达式实例:http://www.jqhtml.com/10581.html
二丶主要代码
/**
* 修改密码
*/
public void btn_changPassword() {
String newPassword = et_newPassword.getText().toString();
String surePassword = et_surePassword.getText().toString();
String oldPassword = et_oldPassword.getText().toString().trim();
if ("".equals(oldPassword)) {
toast("请输入原密码");
return;
}
if ("".equals(newPassword)) {
toast("请输入新密码");
return;
}
if ("".equals(surePassword)) {
toast("请输入确认密码");
return;
}
if (!newPassword.equals(surePassword)) {
toast("输入两次新密码不相同");
return;
}
if (!isMatcherFinded("^(?![^a-zA-Z]+$)(?!\\D+$).{8,16}$", newPassword)) {
ToastUtils.makeText(this, "请输入包括数字和字母、长度8到16位的密码组合", ToastUtils.TWO_SECOND);
return;
}
if (mMyApplication == null)
mMyApplication = MyApplication.getInstance();
UserEntity userEntity = mMyApplication.getmUser();
if (userEntity != null) {
userId = userEntity.getUserId();
changPasswordPresenter.changPsw(userId, oldPassword, newPassword);
}
}
public static boolean isMatcherFinded(String patternStr, CharSequence input) {
Pattern pattern = Pattern.compile(patternStr);
Matcher matcher = pattern.matcher(input);
if (matcher.find()) {
return true;
}
return false;
}