首页 > 技术文章 > 前台数据输入验证

kiton 2017-04-19 14:14 原文

转自:http://www.cnblogs.com/wxlovewx/p/5431220.html

 

将验证写在一个js文件中方便管理:

/*
* jQuery JavaScript Library
*
* Copyright (c) 2009 Wu shaoxi
*
*
* Date: 2014-10-31
* Function: validate input
*/


///*验证数字的正则表达式集(转载)
//验证数字:^[0-9]*$
//验证n位的数字:^\d{n}$
//验证至少n位数字:^\d{n,}$
//验证m-n位的数字:^\d{m,n}$
//验证零和非零开头的数字:^(0|[1-9][0-9]*)$
//验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$
//验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$
//验证非零的正整数:^\+?[1-9][0-9]*$
//验证非零的负整数:^\-[1-9][0-9]*$
//验证非负整数(正整数 + 0) ^\d+$
//验证非正整数(负整数 + 0) ^((-\d+)|(0+))$
//验证长度为3的字符:^.{3}$
//验证由26个英文字母组成的字符串:^[A-Za-z]+$
//验证由26个大写英文字母组成的字符串:^[A-Z]+$
//验证由26个小写英文字母组成的字符串:^[a-z]+$
//验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
//验证由数字、26个英文字母或者下划线组成的字符串:^\w+$
//验证用户密码:^[a-zA-Z]\w{5,17}$ 正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。
//验证是否含有 ^%&',;=?$\" 等字符:[^%&',;=?$\x22]+
//验证汉字:^[\u4e00-\u9fa5],{0,}$
//验证Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
//验证InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$
//验证电话号码:^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$:--正确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。
//验证身份证号(15位或18位数字):^\d{15}|\d{}18$
//验证一年的12个月:^(0?[1-9]|1[0-2])$ 正确格式为:“01”-“09”和“1”“12”
//验证一个月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$ 正确格式为:01、09和1、31。
//整数:^-?\d+$
//非负浮点数(正浮点数 + 0):^\d+(\.\d+)?$
//正浮点数 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
//非正浮点数(负浮点数 + 0) ^((-\d+(\.\d+)?)|(0+(\.0+)?))$
//负浮点数 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
//浮点数 ^(-?\d+)(\.\d+)?*/

//valid name null
var regNumber = new RegExp("^[0-9]*$");
var regEmail = new RegExp("/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/");

function validateNull(e){
var flag = true;
var value = e.value;
if(value == "" ||value == null){
alert("Please input " + e.name + "!");
flag = false;
}
return flag;
};


//valid num
function validateNumber(e){
var flag = true;
var value = e.value;
if(value == "" ||value == null){
alert("Please input " + e.name + "!");
flag = false;
}
else if(!regNumber.test(value)){
alert("Please input Integer for " + e.name + "!");
flag = false;
}
return flag;
}

//valid email
function validateEmail(e){
var flag = true;
var value = e.value;

if(value == "" ||value == null){
alert("Please input " + e.name + "!");
flag = false;
}
else if(!regEmail.test(value)){
alert("Please input correct format for " + e.name + "!");
flag = false;
}
return flag;
};

 

下面为前台页面的引用:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<script type="text/javascript" src="/TaskManagementSystem/js/wx-validate.base.js"></script>
</head>
<body>
This is first page!
<form action="showUserInfo.do" method="post">
<input type="text" name="name" id="name" onblur="validateNull(this);">
<input type="text" name="number" id="name" onblur="validateNumber(this);">
<input type="text" name="email" id="name" onblur="validateEmail(this);">
</form>
</body>
</html>

 

推荐阅读