表单验证例子

表单验证:在表单提交之前验证用户的输入是否合法

注意:提示消息使用文本框可以使重置按钮一次清空,没必要自己写重置。

checkform.js

//提示正常输入
function input(msgId){
	var msg=document.getElementById(msgId);
	msg.className='inputTip';
	if(msgId=="msg_userName"){
		msg.value="用户名6~18位字母开头,只包含字母、数字、_";
	}
	if(msgId=="msg_pwd"){
		msg.value="6~18位,只包含字母、数字、_";
	}
	if(msgId=="msg_repwd"){
		msg.value="必须和上面的密码一致";
	}
	if(msgId=="msg_email"){
		msg.value="支持国内大多数邮箱";
	}
	if(msgId=="msg_qq"){
		msg.value="请输入真实的QQ号";
	}
}
/**
显示提示
value:输入的字符串
reg:正则表达式
msg:消息显示对象
*/
function showMsg(value,reg,msg){
	if(value==""){
		msg.className="errorTip";
		msg.value="×不能为空!";
		return false;
	}
	else if(reg.test(value)){
		msg.className="okTip";
		msg.value="√";
		return true;
	}else {
		msg.className="errorTip";
		msg.value="×格式有误!";
		return false;
	}
}
var userName_bool=false;
var pwd_bool=false;
var repwd_bool=false;
var email_bool=false;
var qq_bool=false;

//检查用户名是否合法
function checkUserName(obj,msgId){

	var userName=obj.value;
	var msg=document.getElementById(msgId);
	var reg=/^[A-Za-z]\w{5,17}$/;
	return userName_bool=showMsg(userName,reg,msg);
}
//检查密码是否合法
function checkPwd(obj,msgId){
	var pwd=obj.value;
	var msg=document.getElementById(msgId);
	var reg=/^\w{6,18}$/;
	return pwd_bool=showMsg(pwd,reg,msg);
}
function checkRepwd(obj,msgId){
	var pwd=document.forms['regist'].elements['pwd'].value;
	var repwd=obj.value;
	var msg=document.getElementById(msgId);
	if(pwd_bool){
		if(repwd==""){
			msg.className="errorTip";
			msg.innerHTML="×用户名不能为空!";
			return repwd_bool=false;
		}else if(repwd==pwd){
			msg.className="okTip";
			msg.innerHTML="√";
			return repwd_bool=true
		}else {
			msg.className="errorTip";
			msg.innerHTML="×两次密码不一样!";
			return repwd_bool=false;

		}
	}
	return repwd_bool=false;
}
//邮箱 [email protected] .gov
function checkEmail(obj,msgId){
	var email=obj.value;
	var msg=document.getElementById(msgId);
	var reg=/^\[email protected]\w+(\.\w+)+$/;
	return email_bool=showMsg(email,reg,msg);
}
function checkQq(obj,msgId){
	var qq=obj.value;
	var msg=document.getElementById(msgId);
	var reg=/^\d{6,12}$/;
	return qq_bool=showMsg(qq,reg,msg);
}
function checkAll(){
	return userName_bool&&pwd_bool&&repwd_bool&&email_bool&&qq_bool;
}
function myReset(){
	userName_bool=false;
	pwd_bool=false;
	repwd_bool=false;
	email_bool=false;
	qq_bool=false;
}

form.html

<html>
	<head>
		<meta http-equiv='Content-Type' content='text/css;charset=utf-8'/>
		<script language="JavaScript" src='checkform.js'></script>
		<title>表单验证</title>
		<style>
			.inputTip{
				readonly:readonly;
				width:250px;
				border:0;
				color:#666666;
				font-size:10px;
			}
			.okTip{
				readonly:readonly;
				width:250px;
				border:0;
				color:green;
				font-size:10px;
			}
			.errorTip{
				readonly:readonly;
				width:250px;
				border:0;
				color:red;
				font-size:10px;
			}
		</style>

	</head>
	<body>
		<form name="regist" onsubmit="return checkAll()" target="_self" action="http://baidu.com">
			<table cellpadding='5' cellspacing='2' align='center'>
				<tbody>
					<tr>
						<td>*用户名:</td>
						<td><input type='text' name="userName" onblur="checkUserName(this,'msg_userName')" onfocus="input('msg_userName')"/></td>
						<td><input class="inputTip" readonly="readonly" type="text" id='msg_userName'/></td>
					</tr>
					<tr>
						<td>*密码:</td>
						<td><input type='password' name="pwd" onfocus="input('msg_pwd')" onblur="checkPwd(this,'msg_pwd')"/></td>
						<td><input class="inputTip"  readonly="readonly" type="text" id="msg_pwd"/></td>
					</tr>
					<tr>
						<td>*确认密码:</td>
						<td><input type='password' name="repwd" onfocus="input('msg_repwd')" onblur="checkRepwd(this,'msg_repwd')"/></td>
						<td><input  class="inputTip"  readonly="readonly" type="text" id="msg_repwd"/></td>
					</tr>
					<tr>
						<td>*性别:</td>
						<td>
							<input type='radio' name="sex" value='man' checked='checked'/>男
							<input type="radio" name="sex" value='women'/>女
						</td>
						<td><input  class="inputTip"  readonly="readonly" type="text" id="msg_sex"/></td>
					</tr>
					<tr>
						<td>*邮箱:</td>
						<td><input type='text' name="email" onfocus="input('msg_email')" onblur="checkEmail(this,'msg_email')"/></td>
						<td><input  class="inputTip"  readonly="readonly" type="text" id='msg_email'/></td>
					</tr>
					<tr>
						<td>*QQ:</td>
						<td><input type='text' name="qq" onfocus="input('msg_qq')" onblur="checkQq(this,'msg_qq')"/></td>
						<td><input  class="inputTip" readonly="readonly"  type="text" id="msg_qq"/><td>
					</tr>
					<tr>
						<td>备注:</td>
						<td colspan='2'><textarea rows='8' cols='19' name="extra"></textarea></td>
					</tr>
					<tr>
						<td colspan='2' align='center'>
							<input type='submit' value='提交' style="width:60px;height:30px;"/>
							<input type='reset' value="重置"  onclick="myReset()"style="width:60px;height:30px;"/>
						</td>
					</tr>
				<tbody>
			</table>
		</form>
	</body>
</html>

表单验证例子

时间: 2024-11-06 11:45:37

表单验证例子的相关文章

jquery validate 表单验证插件

对于初学者而言,html表单验证是一项极其琐碎的事情.要做好表单验证,需要准备以下基本要素: 1.html表单结构:包含需要校验的表单元素: 2.js逻辑控制:在需要校验的表单元素上绑定事件,如点击.获取焦点.失去焦点等事件,并设置这些事件对应的执行函数: 3.css样式设置:针对需要校验的表单元素,需要设置默认的初始样式,以及触发元素绑定事件后的变化样式. 这3类基本要素中,html表单结构的创建相对简单.表单验证的重点和难点在于如何利用js及时有效地提醒用户有关表单操作的信息.这里我参考了百

Bootstrap表单验证插件bootstrapValidator使用方法整理

插件介绍 先上一个图: 下载地址:https://github.com/nghuuphuoc/bootstrapvalidator 使用方法:http://www.cnblogs.com/huangcong/p/5335376.html 使用提示 中文化:下载插件后,将\js\bootstrapValidator\language\zh_CN.js 引入文件,即实现中文化 提交前验证表单:更丰富一点的表单验证例子:http://www.jq22.com/yanshi522,直接上代码: 1 <!

jquery validate表单验证插件-推荐

1 表单验证的准备工作 在开启长篇大论之前,首先将表单验证的效果展示给大家.     1.点击表单项,显示帮助提示 2.鼠标离开表单项时,开始校验元素  3.鼠标离开后的正确.错误提示及鼠标移入时的帮助提醒 对于初学者而言,html表单验证是一项极其琐碎的事情.要做好表单验证,需要准备以下基本要素: 1.html表单结构:包含需要校验的表单元素: 2.js逻辑控制:在需要校验的表单元素上绑定事件,如点击.获取焦点.失去焦点等事件,并设置这些事件对应的执行函数: 3.css样式设置:针对需要校验的

使用 WTForms 进行表单验证的例子

#使用 WTForms 进行表单验证的例子 from wtforms import Form from wtforms import BooleanField from wtforms import TextField from wtforms import PasswordField from wtforms import validators #注册表单 class RegisterForm(Form): username = TextField("Username",[valid

javascript:正则表达式、一个表单验证的例子

阅读目录 本文内容: 正则表达式: 利用正则表达式进行表单验证的例子: 回到顶部 本文内容: 正则表达式 正则表达式的使用方法 正则表达式的特殊匹配字符 正则表达式修饰符 利用正则表达式进行表单验证的例子 首发日期:2018-05-13 回到顶部 正则表达式: 正则表达式的使用方法: 首先创建正则表达式对象: [正则表达式的字符规则:如果是没有特殊意义的字符,直接写:如果是有特殊意义的,直接写:如果想将特殊意义的字符转成非特殊意义的,前面使用\] 可以通过RegExp对象创建正则表达式对象: v

正则表达式基础知识及常用表单验证正则(使用时查找为主,需多加基础方法的例子)

一.需要转义的特殊符号,也就是需要在前面添加\:!$ * + = | . ?  \  / [] {}  ^ () 二.正则表达式基本形式及方法:A:re =new RegExp(“a”,“i”);  //new出来的匹配方式B:   re=/a/i ;                            //直接量(更常用) pattern.exec(str)     //返回数组pattern.test(str)       //返回布尔值pattern.toSource(str)    

angular js h5关于表单验证的例子

angular js表单验证 <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <script src="angular.min.js"></script> <link rel="stylesheet" href="

struts2官方 中文教程 系列十一:使用XML进行表单验证

在本教程中,我们将讨论如何使用Struts 2的XML验证方法来验证表单字段中用户的输入.在前面的教程中,我们讨论了在Action类中使用validate方法验证用户的输入.使用单独的XML验证文件让您可以内置到Struts 2框架的验证器. 贴个本帖的地址,以免被爬:struts2官方 中文教程 系列十一:使用XML进行表单验证  即 http://www.cnblogs.com/linghaoxinpian/p/6938720.html 下载本章节代码 为了使用户能够编辑存储在Person对

AngularJs的一个简单的表单验证

最近学习了AngularJs框架,觉得确实特别有用.之前学习了一点点的ASP.NET,它的控件也是挺好的,不过还是没有AngularJs轻巧. 定义一个应用程序myApp,一个控制器.接着是表单的验证. AngularJs中,表单控件的HTML元素有:input select button textarea元素 其实还算是很简单的例子. 不过我觉得对比起ASP那种庞大的控件来说,它确实很轻巧. AngularJS 输入验证$dirty 表单有填写记录$valid 字段内容合法的$invalid