<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'emp.jsp' starting page</title>
<script type="text/javascript">
window.onload = function() {
document.getElementById("ok").onclick = function() {
//真实姓名(不能为空 ,没有其他要求)
var realnameValue = document.getElementById("realname").value;
if(ltrim(rtrim(realnameValue))==""||realnameValue==null||realnameValue==undefined) {
alert("真实姓名不能为空");
document.getElementById("realname").focus();
return false;
}
//登录名不能为空,长度应该在5-8之间,可以包含中文字符(一个汉字算一个字符)):
var usernameValue = document.getElementById("username").value;
if(ltrim(rtrim(usernameValue))==""||usernameValue==null||usernameValue==undefined) {
alert("登录名不能为空");
document.getElementById("username").focus();
return false;
}
//验证长度在5-8之间,字符包括[字母 数字 中文]
var pattern = /^[a-zA-Z0-9\u4e00-\u9fa5]{5,8}$/;
var flag = pattern.test(ltrim(rtrim(usernameValue)));
if(!flag) {
alert("登录名长度在5-8之间");
document.getElementById("username").focus();
return false;
}
//不能为空,长度6-12字符或数字,不能包含中文字符
var pswValue = document.getElementById("psw").value;
if(ltrim(rtrim(pswValue))==""||pswValue==null||pswValue==undefined) {
alert("密码不能为空");
document.getElementById("psw").focus();
return false;
}
//使用文本格式定义正则表达式,字符0-128之间
var pattern = /^[0-9a-zA-Z]{6,12}$/;
//注意\d形式的的正则,如果使用文本格式不用加转义字符,如果使用构造函数定义,则需加转义字符
//var pattern = /^[\da-zA-Z]{6,12}$/;
//使用构造函数定义正则表达式,没有字符限制
//var pattern = new RegExp("^[0-9a-zA-Z]{6-12}$");
//var pattern = new RegExp("^[\\da-zA-Z]{6-12}$");
flag = pattern.test(ltrim(rtrim(pswValue)));
if(!flag) {
alert("密码长度为6-12字符或数字,不能包含中文字符");
document.getElementById("psw").focus();
return false;
}
var psw2Value = document.getElementById("psw2").value;
if(pswValue!=psw2Value) {
alert("两次密码输入不一致");
document.getElementById("psw2").focus();
return false;
}
var flag = false;
var genderElements = document.getElementsByName("gender");
for(var i = 0; i< genderElements.length; i++) {
if(genderElements[i].checked) {
flag = true;
break;
}
}
if(!flag) {
alert("您没有第三种性别可选");
return false;
}
var cardValue = document.getElementById("card").value;
if(ltrim(rtrim(cardValue))==""||cardValue==null||cardValue==undefined) {
alert("身价证不能为空");
document.getElementById("card").focus();
return false;
}
var len = cardValue.length;
if(len!=15&&len!=18) {
alert("身价证必须为15位或18位");
return false;
}
//验证15位身价证(貌似这个可以DEL);
if(len == 15) {
var pattern = /^\d{15}$/;
var flag = pattern.test(cardValue);
if(!flag) {
alert("您的15位身价证格式输入不正确");
document.getElementById("card").focus();
return false;
}
}
//验证18位身价证
if(len == 18) {
var pattern = /^\d{18}|\d{17}[X]{1}$/;
var flag = pattern.test(cardValue);
if(!flag) {
alert("您的18位身价证格式输入不正确");
document.getElementById("card").focus();
return false;
}
}
//提交表单
document.forms[0].submit();
}
}
//去掉字符串左端空格
function ltrim(str) {
while(str.charAt(0) == " ") {
str.substring(1, str.length);
}
return str;
}
//去掉字符串右端空格
function rtrim(str) {
while(str.charAt(str.length-1) == " ") {
str.substring(0, sub.length-1);
}
return str;
}
</script>
</head>
<body>
<form action="http://localhost:8888" method="post">
<table border="1" cellpadding="5" cellspacing="0">
<tr>
<td>真实姓名(不能为空 ,没有其他要求)</td>
<td><input type="text" id="realname" name="realname"/></td>
</tr>
<tr>
<td>登录名(登录名不能为空,长度应该在5-8之间,可以包含中文字符(一个汉字算一个字符))</td>
<td><input type="text" id="username" name="username"/></td>
</tr>
<tr>
<td>密码(不能为空,长度6-12字符或数字,不能包含中文字符)</td>
<td><input type="password" id="psw" name="psw"/></td>
</tr>
<tr>
<td>确认密码(不能为空,长度6-12字符或数字,不能包含中文字符):</td>
<td><input type="password" id="psw2" name="psw2"/></td>
</tr>
<tr>
<td>性别(必选其一)</td>
<td>
<input type="radio" id="gender_male" value="m" name="gender"/>男
<input type="radio" id="gender_female" value="f" name="gender"/>女
</td>
</tr>
<tr>
<td>身价证(15或18为)</td>
<td>
<input type="text" id="card"/></td>
</tr>
<tr>
<td></td>
<td></td>
<td>
<input type="button" id="ok" name="ok" value="保存"/>
</td>
</tr>
</table>
</form>
</body>
</html>
js表单检验
最新推荐文章于 2024-07-03 20:05:58 发布