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的一些注意
Dec 06 Javascript
使用JS CSS去除IE链接虚线框的三种方法
Nov 14 Javascript
jquery.validate使用详解
Jun 02 Javascript
JavaScript算法系列之快速排序(Quicksort)算法实例详解
Sep 04 Javascript
移动端界面的适配
Jan 11 Javascript
jquery获取select,option所有的value和text的实例
Mar 06 Javascript
3分钟掌握常用的JS操作JSON方法总结
Apr 25 Javascript
jQuery 添加样式属性的优先级别方法(推荐)
Jun 08 jQuery
BootStrap 标题设置跨行无效的解决方法
Oct 25 Javascript
浅谈gulp创建完整的项目流程
Dec 20 Javascript
使用localStorage替代cookie做本地存储
Sep 25 Javascript
JavaScript中的this基本问题实例小结
Mar 09 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
YB217、YB235、YB400浅听
2021/03/02 无线电
浅谈php fopen下载远程文件的函数
2016/11/18 PHP
详解PHP中的 input属性(隐藏 只读 限制)
2017/08/14 PHP
Avengerls vs Newbee BO3 第三场2.18
2021/03/10 DOTA
jQuery jqgrid 对含特殊字符json 数据的 Java 处理方法
2011/01/01 Javascript
使用Java实现简单的server/client回显功能的方法介绍
2013/05/03 Javascript
深入理解Javascript作用域与变量提升
2013/12/09 Javascript
css+js实现部分区域高亮可编辑遮罩层
2014/03/04 Javascript
javascript 数组的定义和数组的长度
2016/06/07 Javascript
JQuery.validationEngine表单验证插件(推荐)
2016/12/10 Javascript
jQuery EasyUI之验证框validatebox实例详解
2017/04/10 jQuery
微信小程序实现滚动消息通知
2018/02/02 Javascript
手动用webpack搭建第一个ReactApp的示例
2018/04/11 Javascript
vue实现图片懒加载的方法分析
2020/02/05 Javascript
electron 如何将任意资源打包的方法步骤
2020/04/16 Javascript
vue+axios全局添加请求头和参数操作
2020/07/24 Javascript
[02:42]决战东方!DOTA2亚洲邀请赛重启荣耀之争
2017/03/17 DOTA
Python MySQLdb 使用utf-8 编码插入中文数据问题
2018/03/13 Python
详解windows python3.7安装numpy问题的解决方法
2018/08/13 Python
Python图像处理之gif动态图的解析与合成操作详解
2018/12/30 Python
pyqt5 实现多窗口跳转的方法
2019/06/19 Python
django 实现将本地图片存入数据库,并能显示在web上的示例
2019/08/07 Python
python破解bilibili滑动验证码登录功能
2019/09/11 Python
通过字符串导入 Python 模块的方法详解
2019/10/27 Python
TensorFlow设置日志级别的几种方式小结
2020/02/04 Python
keras.layer.input()用法说明
2020/06/16 Python
基于python实现MQTT发布订阅过程原理解析
2020/07/27 Python
python 统计list中各个元素出现的次数的几种方法
2021/02/20 Python
python 如何读、写、解析CSV文件
2021/03/03 Python
如何用border-image实现文字气泡边框的示例代码
2020/01/21 HTML / CSS
Ajxa常见问题都有哪些
2014/03/26 面试题
什么是Remote Module
2016/06/10 面试题
个人自我评价范文
2014/02/05 职场文书
求职自荐信怎么写
2014/03/06 职场文书
最新大学生创业计划书写作攻略
2014/04/02 职场文书
村支部书记群众路线对照检查材料思想汇报
2014/10/08 职场文书