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动态创建DOM、表单元素的实现代码
Aug 09 Javascript
JS实现仿百度输入框自动匹配功能的示例代码
Feb 19 Javascript
基于jQuery实现二级下拉菜单效果
Feb 01 Javascript
JS实现向iframe中表单传值的方法
Mar 24 Javascript
vue实现简单表格组件实例详解
Apr 16 Javascript
jquery请求servlet实现ajax异步请求的示例
Jun 03 jQuery
通过源码分析Vue的双向数据绑定详解
Sep 24 Javascript
Bootstrap table使用方法汇总
Nov 17 Javascript
浅谈React深度编程之受控组件与非受控组件
Dec 26 Javascript
Vue波纹按钮组件制作
Apr 30 Javascript
纯js封装的ajax功能函数与用法示例
May 14 Javascript
vue 动态绑定背景图片的方法
Aug 10 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中将数组转成XML格式的实现代码
2011/08/08 PHP
php防止伪造数据从地址栏URL提交的方法
2014/08/24 PHP
CodeIgniter连贯操作的底层原理分析
2016/05/17 PHP
在Javascript中为String对象添加trim,ltrim,rtrim方法
2006/09/22 Javascript
JavaScript 学习笔记(十五)
2010/01/28 Javascript
编写高性能的JavaScript 脚本的加载与执行
2010/04/19 Javascript
javascript中关于break,continue的特殊用法与介绍
2012/05/24 Javascript
jQuery中读取json文件示例代码
2013/05/10 Javascript
jQuery制作简单柱状图实例
2015/01/28 Javascript
解决Jquery向页面append新元素之后事件的绑定问题
2015/03/16 Javascript
js中使用使用原型(prototype)定义方法的好处详解
2016/07/04 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(三)
2016/09/14 Javascript
jQuery File Upload文件上传插件使用详解
2016/12/06 Javascript
Vue的MVVM实现方法
2017/08/16 Javascript
webpack2.0配置postcss-loader的方法
2017/08/17 Javascript
Vuejs中使用markdown服务器端渲染的示例
2017/11/22 Javascript
React Hooks 实现和由来以及解决的问题详解
2020/01/17 Javascript
[35:34]Liquid vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python实现自动登录人人网并访问最近来访者实例
2014/09/26 Python
python简单线程和协程学习心得(分享)
2017/06/14 Python
Python实现购物车程序
2018/04/16 Python
Python爬虫抓取代理IP并检验可用性的实例
2018/05/07 Python
两个元祖T1=('a', 'b'),T2=('c', 'd')使用匿名函数将其转变成[{'a': 'c'},{'b': 'd'}]的几种方法
2019/03/05 Python
Python读写文件基础知识点
2019/06/10 Python
python  logging日志打印过程解析
2019/10/22 Python
Django ValuesQuerySet转json方式
2020/03/16 Python
美国蔬菜和植物种子公司:Burpee
2017/02/01 全球购物
草莓网化妆品澳大利亚站:Strawberrynet AU
2017/12/18 全球购物
下述程序的作用是计算机数组中的最大元素值及其下标
2012/11/26 面试题
销售类个人求职信范文
2013/09/25 职场文书
优质服务活动实施方案
2014/05/02 职场文书
根叔历年演讲稿
2014/05/20 职场文书
应届生自荐信
2014/06/30 职场文书
三好学生先进事迹材料
2014/08/28 职场文书
2014年城管个人工作总结
2014/12/08 职场文书
项目战略合作意向书
2015/05/08 职场文书