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


Posted in Javascript onJanuary 21, 2017

本文实例讲述了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>
Javascript 相关文章推荐
web的各种前端打印方法之jquery打印插件jqprint实现网页打印
Jan 09 Javascript
JavaScript建立一个语法高亮输入框实现思路
Feb 26 Javascript
JavaScript在XHTML中的用法详解
Apr 11 Javascript
基于JavaScript 下namespace 功能的简单分析
Jul 05 Javascript
jquery ajax 调用失败的原因示例介绍
Sep 27 Javascript
JavaScript自定义日期格式化函数详细解析
Jan 14 Javascript
JS动态增加删除UL节点LI及相关内容示例
May 21 Javascript
BootStrap扔进Django里的方法详解
May 13 Javascript
Javascript将数字转化成为货币格式字符串
Jun 22 Javascript
jQuery实现鼠标选中文字后弹出提示窗口效果【附demo源码】
Sep 05 Javascript
getElementById().innerHTML与getElementById().value的区别
Oct 27 Javascript
在vue中使用eslint,配合vscode的操作
Nov 09 Javascript
一篇文章搞定JavaScript类型转换(面试常见)
Jan 21 #Javascript
超全面的JavaScript开发规范(推荐)
Jan 21 #Javascript
Mongoose学习全面理解(推荐)
Jan 21 #Javascript
ng-options和ng-checked在表单中的高级运用(推荐)
Jan 21 #Javascript
vue实现添加标签demo示例代码
Jan 21 #Javascript
微信小程序 数据交互与渲染实例详解
Jan 21 #Javascript
前端编码规范(3)JavaScript 开发规范
Jan 21 #Javascript
You might like
多php服务器实现多session并发运行
2006/10/09 PHP
PHP设计模式之注册树模式分析
2018/01/26 PHP
Laravel创建数据库表结构的例子
2019/10/09 PHP
用JTrackBar实现的模拟苹果风格的滚动条
2007/08/06 Javascript
JavaScript的类型转换(字符转数字 数字转字符)
2010/08/30 Javascript
输入密码检测大写是否锁定js实现代码
2012/12/03 Javascript
javascript和jquery实现设置和移除文本框默认值效果代码
2015/01/13 Javascript
学习使用jquery iScroll.js移动端滚动条插件
2020/03/24 Javascript
Vue异步组件使用详解
2017/04/08 Javascript
JS给按钮添加跳转功能类似a标签
2017/05/30 Javascript
vue元素实现动画过渡效果
2017/07/01 Javascript
详解Angular2表单-模板驱动的表单(Template-Driven Forms)
2017/08/04 Javascript
前端跨域的几种解决方式总结(推荐)
2017/08/16 Javascript
微信小程序实现tab和swiper切换结合效果
2020/07/17 Javascript
JS中实现一个下载进度条及播放进度条的代码
2019/06/10 Javascript
JS实现简单省市二级联动
2019/11/27 Javascript
vue全屏事件开发详解
2020/06/17 Javascript
[16:56]heroes英雄教学 司夜刺客
2014/09/18 DOTA
[51:10]VP vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python内置函数bin() oct()等实现进制转换
2012/12/30 Python
Python实现单词翻译功能
2017/06/06 Python
python jieba分词并统计词频后输出结果到Excel和txt文档方法
2018/02/11 Python
python匹配两个短语之间的字符实例
2018/12/25 Python
Python进阶之使用selenium爬取淘宝商品信息功能示例
2019/09/16 Python
python机器学习库xgboost的使用
2020/01/20 Python
Python AutoCAD 系统设置的实现方法
2020/04/01 Python
Python键鼠操作自动化库PyAutoGUI简介(小结)
2020/05/17 Python
阿根廷旅游网站:almundo阿根廷
2018/02/12 全球购物
美国在线鞋类零售商:LifeStride
2019/06/09 全球购物
J2EE面试题大全
2016/08/06 面试题
企业门卫岗位职责
2013/12/12 职场文书
歌颂祖国的演讲稿
2014/05/04 职场文书
python实现自动清理文件夹旧文件
2021/05/10 Python
windows安装python超详细图文教程
2021/05/21 Python
Python list列表删除元素的4种方法
2021/11/01 Python
Kubernetes关键组件与结构组成介绍
2022/03/31 Servers