javascript 表单验证常见正则


Posted in Javascript onSeptember 28, 2009
/* 
用途:校验ip地址的格式 
输入:strIP:ip地址 
返回:如果通过验证返回true,否则返回false; 
*/ 
function isIP(strIP) { 
if (isNull(strIP)) return false; 
var re = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g //匹配IP地址的正则表达式 
if (re.test(strIP)) { 
if (RegExp.$1 < 256 && RegExp.$2 < 256 && RegExp.$3 < 256 && RegExp.$4 < 256) return true; 
} 
return false; 
} 
/* 
用途:检查输入字符串是否为空或者全部都是空格 
输入:str 
返回: 
如果全是空返回true,否则返回false 
*/ 
function isNull(str) { 
if (str == "") return true; 
var regu = "^[ ]+$"; 
var re = new RegExp(regu); 
return re.test(str); 
} 
/* 
用途:检查输入对象的值是否符合整数格式 
输入:str 输入的字符串 
返回:如果通过验证返回true,否则返回false 
*/ 
function isInteger(str) { 
var regu = /^[-]{0,1}[0-9]{1,}$/; 
return regu.test(str); 
} 
/* 
用途:检查输入手机号码是否正确 
输入: 
s:字符串 
返回: 
如果通过验证返回true,否则返回false 
*/ 
function checkMobile(s) { 
var regu = /^[1][0-9][0-9]{9}$/; 
var re = new RegExp(regu); 
if (re.test(s)) { 
return true; 
} else { 
return false; 
} 
} 
/* 
用途:检查输入字符串是否符合正整数格式 
输入: 
s:字符串 
返回: 
如果通过验证返回true,否则返回false 
*/ 
function isNumber(s) { 
var regu = "^[0-9]+$"; 
var re = new RegExp(regu); 
if (s.search(re) != -1) { 
return true; 
} else { 
return false; 
} 
} 
/* 
用途:检查输入字符串是否是带小数的数字格式,可以是负数 
输入: 
s:字符串 
返回: 
如果通过验证返回true,否则返回false 
*/ 
function isDecimal(str) { 
if (isInteger(str)) return true; 
var re = /^[-]{0,1}(\d+)[\.]+(\d+)$/; 
if (re.test(str)) { 
if (RegExp.$1 == 0 && RegExp.$2 == 0) return false; 
return true; 
} else { 
return false; 
} 
} 
/* 
用途:检查输入对象的值是否符合端口号格式 
输入:str 输入的字符串 
返回:如果通过验证返回true,否则返回false 
*/ 
function isPort(str) { 
return (isNumber(str) && str < 65536); 
} 
/* 
用途:检查输入对象的值是否符合E-Mail格式 
输入:str 输入的字符串 
返回:如果通过验证返回true,否则返回false 
*/ 
function isEmail(str) { 
var myReg = /^[-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/; 
if (myReg.test(str)) return true; 
return false; 
} 
/* 
用途:检查输入字符串是否符合金额格式 
格式定义为带小数的正数,小数点后最多三位 
输入: 
s:字符串 
返回: 
如果通过验证返回true,否则返回false 
*/ 
function isMoney(s) { 
var regu = "^[0-9]+[\.][0-9]{0,3}$"; 
var re = new RegExp(regu); 
if (re.test(s)) { 
return true; 
} else { 
return false; 
} 
} 
/* 
用途:检查输入字符串是否只由英文字母和数字和下划线组成 
输入: 
s:字符串 
返回: 
如果通过验证返回true,否则返回false 
*/ 
function isNumberOr_Letter(s) {//判断是否是数字或字母 
var regu = "^[0-9a-zA-Z\_]+$"; 
var re = new RegExp(regu); 
if (re.test(s)) { 
return true; 
} else { 
return false; 
} 
} 
/* 
用途:检查输入字符串是否只由英文字母和数字组成 
输入: 
s:字符串 
返回: 
如果通过验证返回true,否则返回false 
*/ 
function isNumberOrLetter(s) {//判断是否是数字或字母 
var regu = "^[0-9a-zA-Z]+$"; 
var re = new RegExp(regu); 
if (re.test(s)) { 
return true; 
} else { 
return false; 
} 
} 
/* 
用途:检查输入字符串是否只由汉字、字母、数字组成 
输入: 
value:字符串 
返回: 
如果通过验证返回true,否则返回false 
*/ 
function isChinaOrNumbOrLett(s) {//判断是否是汉字、字母、数字组成 
var regu = "^[0-9a-zA-Z\u4e00-\u9fa5]+$"; 
var re = new RegExp(regu); 
if (re.test(s)) { 
return true; 
} else { 
return false; 
} 
} 
/* 
用途:判断是否是日期 
输入:date:日期;fmt:日期格式 
返回:如果通过验证返回true,否则返回false 
*/ 
function isDate(date, fmt) { 
if (fmt == null) fmt = "yyyyMMdd"; 
var yIndex = fmt.indexOf("yyyy"); 
if (yIndex == -1) return false; 
var year = date.substring(yIndex, yIndex + 4); 
var mIndex = fmt.indexOf("MM"); 
if (mIndex == -1) return false; 
var month = date.substring(mIndex, mIndex + 2); 
var dIndex = fmt.indexOf("dd"); 
if (dIndex == -1) return false; 
var day = date.substring(dIndex, dIndex + 2); 
if (!isNumber(year) || year > "2100" || year < "1900") return false; 
if (!isNumber(month) || month > "12" || month < "01") return false; 
if (day > getMaxDay(year, month) || day < "01") return false; 
return true; 
} 
function getMaxDay(year, month) { 
if (month == 4 || month == 6 || month == 9 || month == 11) 
return "30"; 
if (month == 2) 
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) 
return "29"; 
else 
return "28"; 
return "31"; 
} 
/* 
用途:字符1是否以字符串2结束 
输入:str1:字符串;str2:被包含的字符串 
返回:如果通过验证返回true,否则返回false 
*/ 
function isLastMatch(str1, str2) { 
var index = str1.lastIndexOf(str2); 
if (str1.length == index + str2.length) return true; 
return false; 
} 
/* 
用途:字符1是否以字符串2开始 
输入:str1:字符串;str2:被包含的字符串 
返回:如果通过验证返回true,否则返回false 
*/ 
function isFirstMatch(str1, str2) { 
var index = str1.indexOf(str2); 
if (index == 0) return true; 
return false; 
} 
/* 
用途:字符1是包含字符串2 
输入:str1:字符串;str2:被包含的字符串 
返回:如果通过验证返回true,否则返回false 
*/ 
function isMatch(str1, str2) { 
var index = str1.indexOf(str2); 
if (index == -1) return false; 
return true; 
} 
/* 
用途:检查输入的起止日期是否正确,规则为两个日期的格式正确, 
且结束如期>=起始日期 
输入: 
startDate:起始日期,字符串 
endDate:结束如期,字符串 
返回: 
如果通过验证返回true,否则返回false 
*/ 
function checkTwoDate(startDate, endDate) { 
if (!isDate(startDate)) { 
alert("起始日期不正确!"); 
return false; 
} else if (!isDate(endDate)) { 
alert("终止日期不正确!"); 
return false; 
} else if (startDate > endDate) { 
alert("起始日期不能大于终止日期!"); 
return false; 
} 
return true; 
} 
/* 
用途:检查输入的Email信箱格式是否正确 
输入: 
strEmail:字符串 
返回: 
如果通过验证返回true,否则返回false 
*/ 
function checkEmail(strEmail) { 
//var emailReg = /^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/; 
var emailReg = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/; 
if (emailReg.test(strEmail)) { 
return true; 
} else { 
alert("您输入的Email地址格式不正确!"); 
return false; 
} 
}
Javascript 相关文章推荐
jquery HotKeys轻松搞定键盘事件代码
Aug 30 Javascript
实现连缀调用的map方法(prototype)
Aug 05 Javascript
取得窗口大小 兼容所有浏览器的js代码
Aug 09 Javascript
js图片自动切换效果处理代码
May 07 Javascript
简单的代码实现jquery定时器
Jan 03 Javascript
display和visibility的区别示例介绍
Feb 26 Javascript
HTML5+jQuery插件Quicksand实现超酷的星际争霸2兵种分类展示效果(附demo源码下载)
May 25 Javascript
详解Vue.js组件可复用性的混合(mixin)方式和自定义指令
Sep 06 Javascript
gulp安装以及打包合并的方法教程
Nov 19 Javascript
在vue中通过axios异步使用echarts的方法
Jan 13 Javascript
Vue2.0中集成UEditor富文本编辑器的方法
Mar 03 Javascript
vue下的@change事件的实现
Oct 25 Javascript
javascript 页面划词搜索JS
Sep 28 #Javascript
jquery 模式对话框终极版实现代码
Sep 28 #Javascript
javascript的onchange事件与jQuery的change()方法比较
Sep 28 #Javascript
支持ie与FireFox的剪切板操作代码
Sep 28 #Javascript
javaScript 简单验证代码(用户名,密码,邮箱)
Sep 28 #Javascript
javascript parseInt 大改造
Sep 27 #Javascript
网页自动跳转代码收集
Sep 27 #Javascript
You might like
刚才在简化php的库,结果发现很多东西
2006/12/31 PHP
destoon整合ucenter后注册页面不跳转的解决方法
2014/06/21 PHP
ThinkPHP 5.x远程命令执行漏洞复现
2019/09/23 PHP
基于jquery的无刷新分页技术
2011/06/11 Javascript
JS无限极树形菜单,json格式、数组格式通用示例
2013/07/30 Javascript
Javascript快速排序算法详解
2014/12/03 Javascript
jquery实现动态操作select选中
2015/02/11 Javascript
nodejs加密Crypto的实例代码
2016/07/07 NodeJs
JS关闭窗口时产生的事件及用法示例
2016/08/20 Javascript
BootStrap中的表单大全
2016/09/07 Javascript
AngularJS 应用身份认证的技巧总结
2016/11/07 Javascript
Jquery Easyui表单组件Form使用详解(30)
2016/12/19 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(一)
2017/01/21 Javascript
Angular 2父子组件数据传递之@ViewChild获取子组件详解
2017/07/04 Javascript
JQuery 获取Dom元素的实例讲解
2017/07/08 jQuery
javascript用rem来做响应式开发
2018/01/13 Javascript
JS/jQuery实现DIV延时几秒后消失或显示的方法
2018/02/12 jQuery
基于Vue渲染与插件的加载顺序的问题详解
2018/03/05 Javascript
vue cli使用融云实现聊天功能的实例代码
2019/04/19 Javascript
javascript利用canvas实现鼠标拖拽功能
2020/07/23 Javascript
用Python的Django框架编写从Google Adsense中获得报表的应用
2015/04/17 Python
在Django框架中设置语言偏好的教程
2015/07/27 Python
基于Python实现的微信好友数据分析
2018/02/26 Python
python3 tkinter实现点击一个按钮跳出另一个窗口的方法
2019/06/13 Python
Yves Rocher捷克官方网站:植物化妆品的创造者
2019/07/31 全球购物
康拓普公司Java笔面试
2016/09/23 面试题
思想政治自我鉴定
2013/10/06 职场文书
面试后感谢信怎么写
2014/02/01 职场文书
法人代表授权委托书
2014/04/08 职场文书
领导四风问题整改措施思想汇报
2014/10/13 职场文书
2014年班长个人工作总结
2014/11/14 职场文书
幼儿学前班评语
2014/12/29 职场文书
学生评语集锦
2015/01/04 职场文书
社区艾滋病宣传活动总结
2015/05/07 职场文书
大学生社会实践感想
2015/08/11 职场文书
python代码实现备忘录案例讲解
2021/07/26 Python