正则表达式进行页面表单验证功能

一般做到注册页面的时候,当用户填完信息,都需要对他们的信息进行验证,这就要用到正则表达式,具体看下面这个例子。

效果图:(当用户填写的信息不符合规范时显示错误提示)

我只提供了html结构和js,样式你们按照自己的设计稿自己写,我是分别给正确的时候和错误的时候加了不同的class,用了不同的高度,正确是高度小,可以把提示的红字隐藏。

html结构:

<div id="wrap"> <h1>注册</h1> <div> <input type="text" class='match' name='user' placeholder='请输入用户名' /> <span>字母开头,长度5-10位字母数字下划线</span> </div> <div> <input type="password" class='match' name='pwd' placeholder='请输入密码' /> <span>字母数字长度6-18位</span> </div> <div> <input type="password" name='pwd2' placeholder='请再次输入密码' /> <span>两次密码不一致</span> </div> <div> <input type="text" class='match' name="tel" placeholder='请输入电话' /> <span>电话号码格式不正确</span> </div> <div> <input type="text" class='match' name="mail" placeholder='请输入e-mail' /> <span>邮箱格式不正确</span> </div> <div> <input type="text" class='match' name="IDCard" placeholder='请输入身份证' /> <span>证件格式不正确</span> </div> <div class='submit'> <input type="submit" value='注册' /> </div> <p id='tip'>请先输入密码</p> </div>

js:

//正则表达式已//双斜杠开始和结束,限制必须要以什么什么开头要在之前加^,限制必须要以什么什么结尾要在后面加$,例:/^正则$/ <script type="text/javascript"> var reg = { user:/^[a-zA-Z]\w{4,9}$/, //用来判断用户名,第一位不能为数字,也就是小写字母或者大写字母,后面的内容\w表示字符(数字字母下划线) //要求是5-10位字符,所以出去第一位,还需要4-9位的\w pwd:/^[\da-zA-Z]{6,18}$/, //用来判断密码,html结构中要求是数字字符6到18位,\d表示数字 tel:/^1[34578]\d{9}$/, //用来判断电话号码,通常手机号第一位为1,第二位只可能出现3.4.5.7.8,后面剩下的9位数字随机 mail:/^[1-9a-zA-Z_]\w*@[a-zA-Z0-9]+(\.[a-zA-Z]{2,})+$/, //用来判断邮箱,通常邮箱没有以0开头的,所以第一位为1-9数字或者小写字母或者大写字母,第二位开始任意字符 //也可以只有第一位没有第二位,*表示至少0个,@后面同理,小写字母或者大写字母或者数字,.需要转意符,所以写成\. //点后面通常是com或者cn或者com.cn,所以是小写字母或者大写字母至少两位 IDCard:/^[1-9]\d{16}[\dxX]$/, //用来判断身份证,通常第一位不为零,所以取1-9的数字,中间的16位数字随机,最后一位要么是数字要么是X }; var arr = [ document.getElementsByName('user')[0], document.getElementsByName('pwd')[0], document.getElementsByName('tel')[0], document.getElementsByName('mail')[0], document.getElementsByName('IDCard')[0] ]; for(var i=0;i<arr.length;i++){ arr[i].onblur = function(){ if(this.value){ if(reg[this.name].test(this.value)){ this.parentNode.className = 'right'; //判断正确的时候加的class }else{ this.parentNode.className = 'wrong'; //判断错误的时候加的class this.focus(); }; }; }; }; var oTip = document.getElementById('tip'); var opwd = document.getElementsByName('pwd2')[0]; opwd.onfous = function(){ if(!arr[1].value){ arr[1].focus(); oTip.className = 'show'; setTimeout(function () { oTip.className = ''; },1000); }; }; opwd.onblur = function(){ if(this.value){ if(this.value != arr[1].value){ this.focus(); this.parentNode.className ='wrong'; }else{ this.parentNode.className ='right'; }; }; }; </script>

以上所述是小编给大家介绍的正则表达式进行页面表单验证功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

时间: 2024-07-29 14:13:37

正则表达式进行页面表单验证功能的相关文章

js正则表达式注册页面表单验证_javascript技巧

正则表达式方式的验证方式,这个验证比较标准而且比较全面,不过也是通过点击提交按钮才进行验证,本实例可以这样验证,具体内容如下  也可以这样验证 具体代码 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>表单验证类Validator v1</title> <style&

jap动态加载页面表单验证问题

问题描述 jap动态加载页面表单验证问题 JSP页面中使用 解决方案 这是怎么了,怎么看不到内容啊 解决方案二: 干嘛呢这是,干嘛呢这是,

magento注册页面表单验证在哪个文件里

问题描述 magento注册页面表单验证在哪个文件里 magento注册页面,输入的账号或是密码不符合规定的会弹出一条信息提醒,请问这条信息是在哪个页面上可以找到,我想把他改成中文的,一直找不到在哪里? 解决方案 在magento二次开发时,经常需要自己加一些模具,来满足自己的特定需求. 添加Block/里面的文档时,需要特别注意一些地方,其中包括在Form.php中addField的时候

编写简洁的页面表单验证程序

表单验证|程序|页面 看了山人表单验证,又看了其他一些验证程序和相关的一些参考资料,写出了一个比较简洁的js表单验证程序. 功能简述: 验证: http地址 时间日期 e-mail 数字 字符长度检查 一项输入与另一项输入比较(例如:密码的确认输入) 大小比较(只能有一个比较符号) 特点 扩展容易,可以方便的添加自己需要的验证方式 兼容性好(ie5,6 firefox,oprea) 可用性好,没有使用alert()来弹出提示 编写思路: 整个程序的结构及较简单,为了能够验证一些常用的格式,先对j

html教程:编写简洁的页面表单验证程序

看了山人表单验证,又看了其他一些验证程序和相关的一些参考资料,写出了一个比较简洁的js表单验证程序. 功能简述: 验证: http地址 时间日期 e-mail 数字 字符长度检查 一项输入与另一项输入比较(例如:密码的确认输入) 大小比较(只能有一个比较符号) 特点 扩展容易,可以方便的添加自己需要的验证方式 兼容性好(ie5,6 firefox,oprea) 可用性好,没有使用alert()来弹出提示 编写思路: 整个程序的结构及较简单,为了能够验证一些常用的格式,先对js的内置对象进行了扩展

html编写简洁的页面表单验证程序

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "1/DTD/xhtml1-transitional.dtd";> <html xmlns="";> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312

发送-请教用php邮件 如何实现将一个静态页面表单内容提交到指定邮箱?

问题描述 请教用php邮件 如何实现将一个静态页面表单内容提交到指定邮箱? 请教用php邮件 如何实现将一个静态页面表单内容提交到指定邮箱? 补充(就是一个普通静态页面 点提交就可以发送内容到一个邮箱) 在线等 谢谢大神了 解决方案 你可以试一下phpmailer拓展.邮件的内容可以自定义,使用php的file_get_contents或取你要发送的文件内容. 解决方案二: 可以使用email扩展 我的blog里面有简单介绍 <?php require("email/class.phpma

asp.net实现取消页面表单内文本输入框Enter响应的方法_实用技巧

本文实例讲述了asp.net实现取消页面表单内文本输入框Enter响应的方法.分享给大家供大家参考,具体如下: 很早以前开发asp.net项目的时候遇到的:在一个服务器TextBox控件上按下 Enter键,页面回发刷新一遍.后来google一下,发现这是asp.net2.0为表单处理专门设置的"Enter key"功能,关于asp.net ajax表单的enter key,你可以查看这一篇<ASP.NET基于Ajax的Enter键提交问题>.前面给出链接的两篇都是叫我们怎

jquery-iframe 父页面提交子页面表单..求高手

问题描述 iframe 父页面提交子页面表单..求高手 父页面有个提交按钮,点击提交按钮后把子页面的表单用Ajax提交