欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-11-14 21:07:28
本文实例讲述了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正则表达式在线测试工具:

正则表达式在线生成工具:

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

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