javascript表单验证工具类

刚刚写的一段实用javascript验证代码,欢迎指正批评



var Validate = function(){}

Validate.prototype = {
// 验证字符串
testString: function(str) {
return str.replace(/^\s+|\s+$/g, "") != "";
},

// 验证整数
testIntegerNumber: function(num) {
if (!this.testString(num)) {
return false;
}
return /^[0-9]+$/.test(num);
},

// 验证浮点数
testDoubleNumber: function(num) {
if (!this.testString(num)) {
return false;
}
return /^\d+(\.)\d+$/.test(num);
},

// 验证日期(yyyy/MM/dd)
testDate: function(date) {
if (!this.testString(date)) {
return false;
}
var reg = /^[1-2]\d{3}\/(0?[1-9]|1[0-2])\/(0?[1-9]|[12][0-9]|3[0-1])$/;
return reg.test(date);
},

// 验证Email
testEmail: function(email) {
if (!this.testString(email)) {
return false;
}
var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;
return reg.test(email);
},

// 验证中文
testChinese: function(str) {
if (!this.testString(str)) {
return false;
}
return !/^[u4E00-u9FA5]+$/.test(str);
}

}



HTML测试页面


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>图书管理</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="validate.js"></script>
</head>

<body>
<form action="hello.do" method="post">
<table width="40%" cellpadding="0" cellspacing="0" border="1" align="center">
<tbody align="center">
<tr>
<td>书名</td>
<td><input type="text" name="book_title"></td>
</tr>
<tr>
<td>作者</td>
<td><input type="text" name="book_author"></td>
</tr>
<tr>
<td>售价</td>
<td><input type="text" name="book_price"></td>
</tr>
<tr>
<td>出版日期</td>
<td><input type="text" name="book_yr"></td>
</tr>
<tr>
<td>描述</td>
<td><textarea name="book_description"></textarea></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="submit" value="提交" onclick="return isNull();">
    
<input type="reset" name="reset" value="重置">
</td>
</tr>
</tbody>
</table>
</form>
<script type="text/javascript">
var validate = new Validate();
function isNull() {
if (!validate.testString($("input[name='book_title']").val())) {
alert("书名不能为空!");
$("input[name='book_title']").get(0).focus();
return false;
}
if (!validate.testString($("input[name='book_author']").val())) {
alert("作者不能为空!");
$("input[name='book_author']").get(0).focus();
return false;
}
if (!validate.testDoubleNumber($("input[name='book_price']").val())) {
alert("售价输入错误!");
$("input[name='book_price']").get(0).focus();
return false;
}
if (!validate.testDate($("input[name='book_yr']").val())) {
alert("出版日期输入错误!");
$("input[name='book_yr']").get(0).focus();
return false;
}
return true;
}
</script>
</body>
</html>


代码在附件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值