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源码中的chunker 正则过滤符分析
Jul 31 Javascript
JQuery操作Select的Options的Bug(IE8兼容性视图模式)
Apr 21 Javascript
JS实现匀速运动的代码实例
Nov 29 Javascript
JS实现的文字与图片定时切换效果代码
Oct 06 Javascript
jquery实现简单的遮罩层
Jan 08 Javascript
jQuery+css实现的切换图片功能代码
Jan 27 Javascript
全面解析Bootstrap中tooltip、popover的使用方法
Jun 13 Javascript
jQuery实现的简单悬浮层功能完整实例
Jan 23 Javascript
js 性能优化之算法和流程控制
Feb 15 Javascript
一个小时快速搭建微信小程序的方法步骤
Apr 15 Javascript
React实现类似淘宝tab居中切换效果的示例代码
Jun 02 Javascript
vue 在服务器端直接修改请求的接口地址
Dec 19 Vue.js
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 array_intersect()函数使用代码
2009/01/14 PHP
php运行出现Call to undefined function curl_init()的解决方法
2010/11/02 PHP
php实现文件管理与基础功能操作
2017/03/21 PHP
windows系统php环境安装swoole具体步骤
2021/03/04 PHP
不错的一个日期输入 动态
2006/11/06 Javascript
js右键菜单效果代码
2007/07/21 Javascript
基于JQuery 选择器使用说明介绍
2013/04/18 Javascript
js带前后翻页的图片切换效果代码分享
2015/09/08 Javascript
Javascript类型转换的规则实例解析
2016/02/23 Javascript
浅谈javascript中执行环境(作用域)与作用域链
2016/12/08 Javascript
浅谈js中function的参数默认值
2017/02/20 Javascript
Webpack中css-loader和less-loader的使用教程
2017/04/27 Javascript
ionic2自定义cordova插件开发以及使用(Android)
2017/06/19 Javascript
详解create-react-app 2.0版本如何启用装饰器语法
2018/10/23 Javascript
微信小程序云开发如何使用npm安装依赖
2019/05/18 Javascript
vue项目配置使用flow类型检查的步骤
2020/03/18 Javascript
如何实现vue的tree组件
2020/12/03 Vue.js
python中常用的九种预处理方法分享
2016/09/11 Python
matplotlib简介,安装和简单实例代码
2017/12/26 Python
利用python修改json文件的value方法
2018/12/31 Python
CSS3中Transition动画属性用法详解
2016/07/04 HTML / CSS
推荐WEB开发者最佳HTML5和CSS3代码生成器
2015/11/24 HTML / CSS
挪威手表购物网站:Klokker
2016/09/19 全球购物
MYSQL相比于其他数据库有哪些特点
2013/07/19 面试题
《学会待客》教学反思
2014/02/22 职场文书
2014年三八妇女节活动总结
2014/03/01 职场文书
经济信息系毕业生自荐信范文
2014/03/15 职场文书
大学学生会竞选演讲稿
2014/04/25 职场文书
小学优秀班集体申报材料
2014/05/25 职场文书
2016党员党课心得体会
2016/01/07 职场文书
《好妈妈胜过好老师》:每个孩子的优秀都是有源头的
2020/01/03 职场文书
laravel ajax curd 搜索登录判断功能的实现
2021/04/17 PHP
python tkinter实现定时关机
2021/04/21 Python
5行Python代码实现一键批量扣图
2021/06/29 Python
Java Kafka 消费积压监控的示例代码
2021/07/01 Java/Android
Springboot-cli 开发脚手架,权限认证,附demo演示
2022/04/28 Java/Android