jQuery基于正则表达式的表单验证功能示例

本文实例讲述了jQuery基于正则表达式的表单验证功能。分享给大家供大家参考,具体如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test</title>
<script type="text/javascript" language="javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript" language="javascript" >
function validata(){
  if($("#username").val()==""){
  alert("请输入名字");
  return false;
  }
  if($("#password").val()==""){
  alert("请输入密码");
  return false;
  }
  if($("#telephone").val()==""){
  alert("请输入电话号码");
  }
  if($("#email").val()==""){
  $("#email").val("shuangping@163.com");
  }
}
function isInteger(obj){
  reg=/^[-+]?\d+$/;
  if(!reg.test(obj)){
  $("#test").html("<b>Please input correct figures</b>");
  }else{
  $("#test").html("");
  }
}
function isEmail(obj){
  reg=/^\w{3,}@\w+(\.\w+)+$/;
  if(!reg.test(obj)){
  $("#test").html("<b>请输入正确的邮箱地址</b>");
  }else{
  $("#test").html("");
  }
}
function isString(obj){
  reg=/^[a-z,A-Z]+$/;
  if(!reg.test(obj)){
  $("#test").html("<b>只能输入字符</b>");
  }else{
  $("#test").html("");
  }
}
function isTelephone(obj){
  reg=/^(\d{3,4}\-)?[1-9]\d{6,7}$/;
  if(!reg.test(obj)){
  $("#test").html("<b>请输入正确的电话号码!</b>");
  }else{
  $("#test").html("");
  }
}
function isMobile(obj){
  reg=/^(\+\d{2,3}\-)?\d{11}$/;
  if(!reg.test(obj)){
  $("#test").html("请输入正确移动电话");
  }else{
  $("#test").html("");
  }
}
function isUri(obj){
  reg=/^http:\/\/[a-zA-Z0-9]+\.[a-zA-Z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;
  if(!reg.test(obj)){
  $("#test").html($("#uri").val()+"请输入正确的inernet地址");
  }else{
  $("#test").html("");
  }
}
//document加载完毕执行
$(document).ready(function() {
// do something here
//隔行换色功能
$("p").each(function(i){
  this.style.color=['red','green','blue','black'][i%2]
  });
//eq(2)获取$("p")集合的第3个元素
$("p").eq(2).click(function(){$("#display").css("color","blue")});
//所有test中的p都附加了样式"over"。
$("#test>p").addClass("over");
//test中的最后一个p附加了样式"out"。
$("#test p:last").addClass("out");
//选择同级元素还没看懂
//$('#faq').find('dd').hide().end().find('dt').click(function()
//选择父级元素
$("a").hover(
   function(){$(this).parents("p").addClass("out")},
   function(){$(this).parents("p").removeClass("out")})
//hover鼠标悬停效果,toggle每次点击时切换要调用的函数 ,
//trigger(eventtype): 在每一个匹配的元素上触发某类事件,
//bind(eventtype,fn),unbind(eventtype): 事件的绑定与反绑定从每一个匹配的元素中(添加)删除绑定的事件。
//方法的连写
$("#display").hover(function(){
  $(this).addClass("over");
  },function(){
   $(this).removeClass("over");
  })
  .click(function(){alert($("#display").text())});
if($.browser.msie){//判断浏览器,若是ie则执行下面的功能
  //聚焦
  $("input[@type=text],textarea,input[@type=password]")
  .focus(function(){$(this).css({background:"white",border:"1px solid blue"})})
  //也可以这样连着写,
  //.blur(function(){$(this).css({background:"white",border:"1px solid black"})})
  //失去焦点
  //css样式可以通过addClass()来添加
  $("input[@type=text],textarea,input[@type=password]")
  .blur(function(){$(this).css({background:"white",border:"1px solid black"});});
}
});
</script>
<style type="text/css">
.over{
font-size:large;
font-style:italic;
}
.out{
font-size:small;
}
</style>
</head>
<body >
<div id="display">demo</div>
<div id="test">
<p>adfa<a>dfasfa</a>sdfasdf</p>
<p>adfadfasfasdfasdf</p>
<p>adfadfasfasdfasdf</p>
<p>adfadfasfasdfasdf</p>
</div>
<form id="theForm">
isString<div><input type="text" id="username" onblur="isString(this.value)"/></div>
isInteger<div><input type="text" id="password" onblur="isInteger(this.value)"/></div>
isTelephone<div><input type="text" id="telephone" onblur="isTelephone(this.value)"/></div>
isMobile<div><input type="text" id="mobile" onblur="isMobile(this.value)"/></div>
isEmail<div><input type="text" id="email" onblur="isEmail(this.value)"/></div>
isUri<div><input type="text" id="uri" onblur="isUri(this.value)"/></div>
<div><input type="button" value="Validata" onclick="return validata();" /></div>
</form>
</body>
</html>

附:常用的js验证函数:

网站首页表单js:

function checkVaild()
{
  var User=$("#Mobile").val();
  var reg=/^(\+\d{2,3}\-)?\d{11}$/;
  if (User=="")
  {
   alert("手机号码不能为空") ;
   return false;
  }
  if(!reg.test(User)){
  alert("手机号输入错误") ;
  return false ;
  }
  return true ;
}

正则表达式特殊字符的过滤:

function doValidate(value)
{
  vkeyWords=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;'\,.<>/?]{1}[^`~!@$%^&()+=|\\\][\]\{\}:;'\,.<>?]{0,19}$/;
  if(value==null || value=="")
  {
  alert("请输入正确的查询参数");
  return false;
  }
  if(!vkeyWords.test(value))
  {
  alert("您输入的查询参数不正确,请重新输入!");
  return false;
  }
  return true;
}

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript

正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg

更多关于jQuery相关内容可查看本站专题:《jQuery正则表达式用法总结》、《jQuery字符串操作技巧总结》、《jQuery操作xml技巧总结》、《jQuery扩展技巧总结》、《jquery选择器用法总结》及《jQuery常用插件及用法总结》

希望本文所述对大家jQuery程序设计有所帮助。

(0)

相关推荐

  • js jquery验证银行卡号信息正则学习

    jquery代码 复制代码 代码如下: $("#bankAccountNumber").change(function(){ alert("1"); var account = $("channelForm.bankAccount.account").val(); alert("2"); var reg = /^\d{19}$/g; // 以19位数字开头,以19位数字结尾 if( !reg.test(account) ) {

  • jQuery验证手机号邮箱身份证的正则表达式(含港澳台)

    自己对正则验证也没系统用过,这次自己做个demo,一下子把这些全都用上了,下次有需要直接来拿了. 以下代码是在页面使用JQuery进行验证的,也有在后台进行验证的,可以试试,都一样的原理. 直接上代码:注意:(有些验证规则当然不仅仅是本文的,也许还有其他更好的,可以留言交流) 手机号:(移动-电信-联通) var tel = $("#PhoneNumber").val();//获取输入的手机号 var yidongreg = /^(134[012345678]\d{7}|1[34578

  • jQuery正则验证注册页面经典实例

    本文实例讲述了jQuery正则验证注册页面功能.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>正则验证注册页面</title> <style type="text/css"> .red{ color:#cc0000; font-weigh

  • jQuery如何用正则表达式验证手机号、身份证号、中文名称

    数字判断方法:isNaN()函数 test()方法 判断字符串中是否匹配到正则表达式内容,返回的是boolean值 ( true / false ) // 验证中文名称 function isChinaName(name) { var pattern = /^[\u4E00-\u9FA5]{1,6}$/; return pattern.test(name); } // 验证手机号 function isPhoneNo(phone) { var pattern = /^1[34578]\d{9}$

  • 常用的JQuery数字类型验证正则表达式整理

    复制代码 代码如下: var regexEnum = { intege:"^-?[1-9]//d*$", //整数 intege1:"^[1-9]//d*$", //正整数 intege2:"^-[1-9]//d*$", //负整数 num:"^([+-]?)//d*//.?//d+$", //数字 num1:"^([1-9]//d*|0)$", //正数(正整数 + 0) num2:"^-[1-

  • jquery正则表达式验证(手机号、身份证号、中文名称)

    本文实例需要验证的内容:中文姓名.手机号.身份证和地址,验证方法分享给大家供大家参考,具体内容如下 HTML(表单): <form action=""> <div class="form-group"> <label>姓名:</label> <input id="name" type="text"> </div> <div class="f

  • jquery+正则实现统一的表单验证

    表单验证一直很繁琐,特别是大点的表单,如果每个input都去单独写验证简直要写死人,最近写了一小段js统一的验证表单内容是否正确. 使用这段代码就不再需要对每个input写格式判断,只需要将正确格式的正则表达式写在datatype里就可以了,提交表单按钮也只需要绑定checkForm函数就可以了. 大家有什么建议可以评论一下 <input type="text" datatype="正则"/> //表单验证 //点击下一步事件 function chec

  • 详解jquery validate实现表单验证 (正则表达式)

    一.目的 为了更好地实现人机交互,使用jQuery封装库中的validate插件,在用户填写表单时,可以快速地对用户填写的数据进行验证,并做出反馈. 二.validate插件简介   validate()是插件的核心方法,定义了基本的校验规则和一些有用的配置项. rule:设置表单的验证规则: messages:设置表单不符合验证规则的提示信息: debug:如果这个参数为true,那么表单还会提交,只进行检查,调试时十分方便. required:必填 minlength:最小长度 maxlen

  • jquery中邮箱地址 URL网站地址正则验证实例代码

    email地址验证 复制代码 代码如下: function checkEmail(){    var email=$.trim($("#report_email").val());    if(email == ""){        $("#report_email").next('p').html("*请输入邮箱地址!");        return false;    }    var re = /^([a-zA-Z0

  • 正则验证不能含有中文的实现方法【jQuery与java实现】

    本文实例讲述了正则验证不能含有中文的实现方法.分享给大家供大家参考,具体如下: jQuery利用正则验证不能含有中文 var myReg = /^[a-zA-Z0-9_]{0,}$/; if (!myReg.test(input.val())) { $.validation.tip(false, input, "用户名不能含有中文或特殊字符"); return; } Java验证字符串没有中文 if (nickname.getBytes().length != nickname.len

  • jquery使用正则表达式验证email地址的方法

    本文实例讲述了jquery使用正则表达式验证email地址的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <html> <head> <title>jquery使用正则表达式验证email地址</title> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <script type=&qu

随机推荐