一、生成验证码
public static String getRandomValidateCode() {
return RandomUtil.getRandomNum(6);
}
二、正则表达式工具类
样例方法:
传入参数为电话号码
public static boolean isMobile(String mobile) {
Pattern mobileP = Pattern.compile(RegularUtils.常量名);
Matcher mobileM = mobileP.matcher(mobile);
boolean mb = mobileM.matches();
return mb;
}
工具:
//手机号码正则表达式(国内)
private static final String REGEX_CHAIN_MOBILE_NUMBER = "^(1[3456789])[0-9]{9}$";
//用户名正则表达式
private static final String REGEX_USERNAME = "(![0-9]|[A-Za-z]*|[A-Za-z0-9]*){4,20}";
//用户密码正则表达式(包含A-Z,a-z,0-9,!@#$%^&*_)
private static final String REGEX_PASSWORD = "^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?![~,\\.#%'\\+\\*\\-:;^_`]+$)[~,\\.#%'\\+\\*\\-:;^_`0-9A-Za-z]{6,20}$";
//电子邮箱正则表达式
private static final String REGEX_EMAIL = "^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$";// 复杂匹配
//正则表达式:验证身份证
private static final String REGEX_ID_CARD_NO = "^(^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$)|(^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])((\\d{4})|\\d{3}[Xx])$)$";
//邮政编码
private static final String REGEX_Postcode_NO = "^[0-9]\\d{5}$";
在jsp中验证
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>用户注册</title>
<link rel="stylesheet" href="../css/register.css" />
<script>
// 检查账号
function checkUid(){
//1、获取用户输入的id
var uid=document.getElementsByName("user_uid")[0].value;
//2、获取显示信息的span标签
var uidmeg=document.querySelector("#uidmeg");
if(uid.length>=6 && uid.length<=18){
uidmeg.style.color="green";
uidmeg.innerHTML="√";
return true;
}else{
uidmeg.style.color="red";
uidmeg.innerHTML="<br/>用户id的长度必须在6-18位之间!";
return false;
}
}
// 检查密码
function checkRepwd(){
var repwd=document.getElementsByName("user_repwd")[0].value;
var pwd=document.getElementsByName("user_pwd")[0].value;
var repwdmeg=document.querySelector("#repwdmeg");
var pwdmeg=document.querySelector("#pwdmeg");
var re=/^[^*]{1,15}$/;
if(repwd==pwd && pwd.length!=0 && re.test(pwd)==true){
repwdmeg.style.color="green";
repwdmeg.innerHTML="√";
return true;
}else{
repwdmeg.style.color="red";
repwdmeg.innerHTML="<br/>两次密码不一致或格式不正确!";
return false;
}
}
//检查手机号
function checkPhone(){
var phone=document.getElementsByName("user_phone")[0].value;
var pwdmeg=document.querySelector("#phonemeg");
var re=/^(1[3456789])[0-9]{9}$/;
if(phone.length!=0 && re.test(phone)==true){
pwdmeg.style.color="green";
pwdmeg.innerHTML="√";
return true;
}else{
pwdmeg.style.color="red";
pwdmeg.innerHTML="<br/>手机号格式不正确!";
return false;
}
}
//检查邮箱
function checkEmail(){
var email=document.getElementsByName("user_email")[0].value;
var emailmeg=document.querySelector("#emailmeg");
var re=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
if(email.length!=0 && re.test(email)==true){
emailmeg.style.color="green";
emailmeg.innerHTML="√";
return true;
}else{
emailmeg.style.color="red";
emailmeg.innerHTML="<br/>邮箱格式不正确!";
return false;
}
}
//验证上传文件
function checkFile(){
var file=document.getElementsByName("pictureFile")[0].value;
var filemeg=document.querySelector("#filemeg");
if(file != ""){
filemeg.style.color="green";
filemeg.innerHTML="√";
return true;
}else{
filemeg.style.color="red";
filemeg.innerHTML="<br/>请上传身份证照片!";
return false;
}
}
//调用所有验证方法
function checkAll(){
var c1=checkUid();
var c2=checkRepwd();
var c3=checkPhone();
var c4=checkEmail();
var c5=checkFile();
if(c1==true && c2==true && c3==true && c4==true && c5==true){
alert("恭喜您!注册成功!");
return true;
}else{
alert("遗憾!!注册失败!");
return false;
}
}
</script>
</head>
<body>
<div id="box">
<form action="/Aoa/regist" method="post" οnsubmit="return checkAll()" enctype="multipart/form-data">
<h3>注册新用户</h3>
<p>
* 账 号: <input type="text" name="user_uid" οnblur="checkUid()" />
<span id="uidmeg"></span>
</p>
<p>
* 登陆密码: <input type="password" name="user_pwd" />
<span id="pwdmeg"></span>
</p>
<p>
* 确认密码:<input type="password" οnblur="checkRepwd()" name="user_repwd" />
<span id="repwdmeg"></span>
</p>
<p>
* 电话:<input type="text" οnblur="checkPhone()" name="user_phone" />
<span id="phonemeg"></span>
</p>
<p>
* 邮箱:<input type="text" οnblur="checkEmail()" name="user_email" />
<span id="emailmeg"></span>
</p>
<p>
* 身份证:<input type="file" name="pictureFile" id="pictureFile"/>
<span id="filemeg"></span>
</p>
<input type="submit" value="注 册" id="l"/>
<br/><br/><br/>
<input type="reset" value="重 置" id="a"/>
</form>
</div>
</body>
</html>