JavaScript:表单常用验证脚本(整理)
以下内容根据网上资源整理而来,主要来源是CSDN一个供下载的check.js,源码地址找不到了。
1. 检查输入字符串是否为空或者全部都是空格
/*
检查输入字符串是否为空或者全部都是空格
输入:str 输入的字符串
返回:如果全是空返回true;否则返回false
*/
function isNull(str) {
if (str == "") return true; var regexp = "^[ ]+$";
var regObj = new RegExp(regexp);
return regObj.test(str);
}
2. 检查输入对象的值是否符合Email格式
/*
检查输入对象的值是否符合Email格式;如:zhangshan@sina.com
输入:str 输入的字符串
返回:如果通过验证返回true;否则返回false
*/
function checkEmail(str) {
// var regexp = /^[-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/;
var regexp = /^([a-zA-Z0-9]+[_|_|.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|_|.]?)*[a-zA-Z0-9]+.(?:com|cn)$/;
return regexp.test(str);
}
3. 检查输入手机号码是否正确
/*
检查输入手机号码是否正确;如:13857392812
输入:str 输入的字符串
返回:如果通过验证返回true;否则返回false
*/
function checkMobile(str) {
var regexp =/^[1][3][0-9]{9}$/;
return regexp.test(str);
}
4. 检查输入的电话号码格式是否正确,允许包括区号
/*
检查输入的电话号码格式是否正确,允许包括区号;如:80827182、010-89187876
输入:strPhone 电话号码格式字符串
返回:如果通过验证返回true;否则返回false
*/
function checkPhone(strPhone) {
var phoneRegWithArea = /^[0][1-9]{2,3}-[0-9]{5,10}$/;
var phoneRegNoArea = /^[1-9]{1}[0-9]{5,8}$/;
if(strPhone.length > 8) {
return phoneRegWithArea.test(strPhone);
}else{
return phoneRegNoArea.test(strPhone);
}
}
5. 校验ip地址的格式
/*
校验ip地址的格式;如:12.32.12.123
输入:strIP ip地址格式字符串
返回:如果通过验证返回true,否则返回false;
*/
function isIP(strIP) {
if(isNull(strIP)) return false; var regexp=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g;
if(regexp.test(strIP)) {
if(RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256) return true;
}
return false;
}
6. 检查输入对象的值是否符合整数格式
/*
检查输入对象的值是否符合整数格式;如:123、-324
输入:str 输入的字符串
返回:如果通过验证返回true;否则返回false
*/
function isInteger(str) {
var regexp = /^[-]{0,1}[0-9]{1,}$/;
return regexp.test(str);
}
7. 检查输入字符串是否符合正整数格式
/*
检查输入字符串是否符合正整数格式;如:123、567
输入:str 输入的字符串
返回:如果通过验证返回true;否则返回false
*/
function isPositiveInteger(str) {
var regexp = "^[0-9]+$";
var regObj = new RegExp(regexp);
if (str.search(regObj) != -1) {
return true;
} else {
return false;
}
}
8. 检查输入字符串是否是带小数的数字格式,可以是负数
/*
检查输入字符串是否是带小数的数字格式,可以是负数;如:123.3456、-454.212344
输入:str 输入的字符串
返回:如果通过验证返回true;否则返回false
*/
function isDecimal(str) {
if(isInteger(str)) return true;
var regexp = /^[-]{0,1}(\d+)[\.]+(\d+)$/;
if (regexp.test(str)) {
if(RegExp.$1==0&&RegExp.$2==0) return false;
return true;
} else {
return false;
}
}
9. 检查输入字符串是否符合金额格式,不可以是负数
/*
检查输入字符串是否符合金额格式,不可以是负数;如:123.45、456.233
格式定义为带小数的正数,小数点后最多三位
输入:str 输入的字符串
返回:如果通过验证返回true;否则返回false
*/
function isMoney(str) {
var regexp = "^[0-9]+[\.][0-9]{0,3}$";
var regObj = new RegExp(regexp);
if (regObj.test(str)) {
return true;
} else {
return false;
}
}
10. 检查输入字符串是否只由英文字母、数字和下划线组成
/*
检查输入字符串是否只由英文字母、数字和下划线组成;如:abc123_
输入:str 输入的字符串
返回:如果通过验证返回true;否则返回false
*/
function isLetterNumAnd_(str) {
var regexp = "^[0-9a-zA-Z\_]+$";
var regObj = new RegExp(regexp);
if (regObj.test(str)) {
return true;
}else{
return false;
}
}
11. 判断是否是日期
/*
判断是否是日期
输入:date 日期;
返回:如果通过验证返回true,否则返回false
*/
function isDate(date) {
return isDate(date, "yyyy-MM-dd");
} /*
判断是否是日期
输入:date 日期;fmt 日期格式
返回:如果通过验证返回true,否则返回false
*/
function isDate(date, fmt) {
if (fmt == null) fmt = "yyyy-MM-dd";
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(!isPositiveInteger(year)||year>"2100" || year<"1900") return false;
if(!isPositiveInteger(month)||month>"12" || month<"01") return false;
if(day>getMaxDay(year,month) || day<"01") return false; return true;
}
12. 取得给定年、月的天数
/*
取得给定年、月的天数
输入:
year: 年
month:月
返回:该月天数
*/
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";
}
13. 检查复选框被选中的数目
/*
检查复选框被选中的数目
输入:checkboxID 字符串
返回:返回该复选框中被选中的数目
*/
function checkSelect(checkboxID) {
var checkedCounter = 0;
var i = 0;
if(document.all(checkboxID).length > 0) {
for(i=0; i<document.all(checkboxID).length; i++) {
if(document.all(checkboxID).item(i).checked ) {
checkedCounter += 1;
}
}
}else{
if(document.all(checkboxID).checked)
checkedCounter = 1;
}
return checkedCounter;
}
14. 字符串去空格的函数
/*
字符串去空格的函数
输入:
sInputString: 需要去空格的字符串
iType:1=去掉字符串左边的空格、2=去掉字符串右边的空格、0=去掉字符串左边和右边的空格
返回:去掉空格的字符串
*/
function cTrim(sInputString, iType) {
var sTmpStr = ' ';
var i = -1;
if(iType == 0 || iType == 1) {
while(sTmpStr == ' ') {
++i;
sTmpStr = sInputString.substr(i,1);
}
sInputString = sInputString.substring(i);
} if(iType == 0 || iType == 2){
sTmpStr = ' ';
i = sInputString.length;
while(sTmpStr == ' ') {
--i;
sTmpStr = sInputString.substr(i,1);
}
sInputString = sInputString.substring(0,i+1);
}
return sInputString;
}
15. 完整代码
/*
检查输入字符串是否为空或者全部都是空格
输入:str 输入的字符串
返回:如果全是空返回true;否则返回false
*/
function isNull(str) {
if (str == "") return true; var regexp = "^[ ]+$";
var regObj = new RegExp(regexp);
return regObj.test(str);
} /*
检查输入对象的值是否符合Email格式;如:zhangshan@sina.com
输入:str 输入的字符串
返回:如果通过验证返回true;否则返回false
*/
function checkEmail(str) {
// var regexp = /^[-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/;
var regexp = /^([a-zA-Z0-9]+[_|_|.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|_|.]?)*[a-zA-Z0-9]+.(?:com|cn)$/;
return regexp.test(str);
} /*
检查输入手机号码是否正确;如:13857392812
输入:str 输入的字符串
返回:如果通过验证返回true;否则返回false
*/
function checkMobile(str) {
var regexp =/^[1][3][0-9]{9}$/;
return regexp.test(str);
} /*
检查输入的电话号码格式是否正确,允许包括区号;如:80827182、010-89187876
输入:strPhone 电话号码格式字符串
返回:如果通过验证返回true;否则返回false
*/
function checkPhone(strPhone) {
var phoneRegWithArea = /^[0][1-9]{2,3}-[0-9]{5,10}$/;
var phoneRegNoArea = /^[1-9]{1}[0-9]{5,8}$/;
if(strPhone.length > 8) {
return phoneRegWithArea.test(strPhone);
}else{
return phoneRegNoArea.test(strPhone);
}
} /*
校验ip地址的格式;如:12.32.12.123
输入:strIP ip地址格式字符串
返回:如果通过验证返回true,否则返回false;
*/
function isIP(strIP) {
if(isNull(strIP)) return false; var regexp=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g;
if(regexp.test(strIP)) {
if(RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256) return true;
}
return false;
} /*
检查输入对象的值是否符合整数格式;如:123、-324
输入:str 输入的字符串
返回:如果通过验证返回true;否则返回false
*/
function isInteger(str) {
var regexp = /^[-]{0,1}[0-9]{1,}$/;
return regexp.test(str);
} /*
检查输入字符串是否符合正整数格式;如:123、567
输入:str 输入的字符串
返回:如果通过验证返回true;否则返回false
*/
function isPositiveInteger(str) {
var regexp = "^[0-9]+$";
var regObj = new RegExp(regexp);
if (str.search(regObj) != -1) {
return true;
} else {
return false;
}
} /*
检查输入字符串是否是带小数的数字格式,可以是负数;如:123.3456、-454.212344
输入:str 输入的字符串
返回:如果通过验证返回true;否则返回false
*/
function isDecimal(str) {
if(isInteger(str)) return true;
var regexp = /^[-]{0,1}(\d+)[\.]+(\d+)$/;
if (regexp.test(str)) {
if(RegExp.$1==0&&RegExp.$2==0) return false;
return true;
} else {
return false;
}
} /*
检查输入字符串是否符合金额格式,不可以是负数;如:123.45、456.233
格式定义为带小数的正数,小数点后最多三位
输入:str 输入的字符串
返回:如果通过验证返回true;否则返回false
*/
function isMoney(str) {
var regexp = "^[0-9]+[\.][0-9]{0,3}$";
var regObj = new RegExp(regexp);
if (regObj.test(str)) {
return true;
} else {
return false;
}
} /*
检查输入字符串是否只由英文字母、数字和下划线组成;如:abc123_
输入:str 输入的字符串
返回:如果通过验证返回true;否则返回false
*/
function isLetterNumAnd_(str) {
var regexp = "^[0-9a-zA-Z\_]+$";
var regObj = new RegExp(regexp);
if (regObj.test(str)) {
return true;
}else{
return false;
}
} /*
判断是否是日期
输入:date 日期;
返回:如果通过验证返回true,否则返回false
*/
function isDate(date) {
return isDate(date, "yyyy-MM-dd");
} /*
判断是否是日期
输入:date 日期;fmt 日期格式
返回:如果通过验证返回true,否则返回false
*/
function isDate(date, fmt) {
if (fmt == null) fmt = "yyyy-MM-dd";
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(!isPositiveInteger(year)||year>"2100" || year<"1900") return false;
if(!isPositiveInteger(month)||month>"12" || month<"01") return false;
if(day>getMaxDay(year,month) || day<"01") return false; return true;
} /*
取得给定年、月的天数
输入:
year: 年
month:月
返回:该月天数
*/
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";
} /*
检查复选框被选中的数目
输入:checkboxID 字符串
返回:返回该复选框中被选中的数目
*/
function checkSelect(checkboxID) {
var checkedCounter = 0;
var i = 0;
if(document.all(checkboxID).length > 0) {
for(i=0; i<document.all(checkboxID).length; i++) {
if(document.all(checkboxID).item(i).checked ) {
checkedCounter += 1;
}
}
}else{
if(document.all(checkboxID).checked)
checkedCounter = 1;
}
return checkedCounter;
} /*
字符串去空格的函数
输入:
sInputString: 需要去空格的字符串
iType:1=去掉字符串左边的空格、2=去掉字符串右边的空格、0=去掉字符串左边和右边的空格
返回:去掉空格的字符串
*/
function cTrim(sInputString, iType) {
var sTmpStr = ' ';
var i = -1;
if(iType == 0 || iType == 1) {
while(sTmpStr == ' ') {
++i;
sTmpStr = sInputString.substr(i,1);
}
sInputString = sInputString.substring(i);
} if(iType == 0 || iType == 2){
sTmpStr = ' ';
i = sInputString.length;
while(sTmpStr == ' ') {
--i;
sTmpStr = sInputString.substr(i,1);
}
sInputString = sInputString.substring(0,i+1);
}
return sInputString;
}
JavaScript:表单常用验证脚本(整理)的更多相关文章
- 7 Javascript:表单与验证-非空验证
表单提交前要检查数据的合法性 在要对表单里的数据进行验证的时候,能够利用getElementById()来訪问网页上不论什么一个元素 每一个表单域都有一个form对象,可被传给不论什么验证表单数据的函 ...
- 推荐几款很棒的 JavaScript 表单美化和验证插件
表单元素让人爱恨交加.作为网页最重要的组成部分,表单几乎无处不在,从简单的邮件订阅.登陆注册到复杂的需要多页填写的信息提交功能,表单都让开发者花费了大量的时间和精力去处理,以期实现好用又漂亮的表单功能 ...
- JavaScript表单验证和正则表达式
JavaScript表单验证 分为四类: 1.非空验证 常用于用户名等 2.相等验证 常用于验证两次输入的密码 3.范围验证 常用于年龄等 4.正则验证 用于手机号,邮箱号等 以下是实例: <! ...
- 15个最佳的 JavaScript 表单验证库
客户端验证在任何项目都是不够的,因为 JavaScript 可以直接忽略,人们可以提交请求到服务器. 然而这并不意味着客户端验证都没必要了,很多时候我们需要在用户提交到服务器之前给予提示.JavaSc ...
- JavaScript 表单验证 案例
JavaScript 表单验证 案例 版权声明:未经授权,严禁转载! 编写 HTML 文件,搭建主体界面 <html> <head> <meta charset=&q ...
- JavaScript表单验证实例
1. 长度限制<script>function test(){if(document.a.b.value.length>50){alert("不能超过50个字符!" ...
- JavaScript表单验证年龄
JavaScript表单验证年龄,判断一个输入量是否符合年龄,通过正则表达式实现. //检查年龄 function isAge(str){ var mydate=new Date; var now=m ...
- 前端工具 - 15个最佳的 JavaScript 表单验证库
客户端验证在任何项目都是不够的,因为 JavaScript 可以直接忽略,人们可以提交请求到服务器. 然而这并不意味着客户端验证都没必要了,很多时候我们需要在用户提交到服务器之前给予提示.JavaSc ...
- JavaScript 表单验证入门
JavaScript 表单验证 JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证. 被 JavaScript 验证的这些典型的表单数据有: 用户是否已填写表单 ...
随机推荐
- 如何解决SPD的缓存问题
SPD有时候文件被缓存住了,表现为文件的最后更改时间不对,或者本来文件已经被check in了,但是显示check out状态,而此时如果选择check in, 就会提示文件没有被check ou ...
- spring mvc返回jsonp内容
代码如下: import com.alibaba.fastjson.JSONPObject; @RequestMapping(value = "/method1") @Respon ...
- 【CSWS2014 Main Conference】Some Posters
随机选了几张POSTER,之前没做过POSTER的同学可以看一下文字.图片.布局以及每个版块的小标题,以后如果需要做poster就容易多了. 据说这种Poster一张需要60RMB左右. 其中第5幅是 ...
- Java操作Excel文件以及在Android中的应用
本文章由临江仙原创,转载请注明出处:http://blog.csdn.net/zhy_cheng/article/details/10286563 Excel作为一种有格式的文件,可以使用Java来对 ...
- 算法笔记_191:历届试题 大臣的旅费(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 很久以前,T王国空前繁荣.为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市. 为节省经费,T国的大臣们经过思考, ...
- cordova 常用插件
一,插件相关常用命令 1,查看所有已经安装的插件 1 cordova plugin ls 2,安装插件(以camera插件为例) 1 cordova plugin add cordova-plug ...
- 解决Win10系统backgroundTaskHost占用cpu大
打开照片应用后,点击左下角“设置”按钮,如下图
- HTTP所承载的货物(图像、文本、软件等)要满足的条件
HTTP所承载的货物(图像.文本.软件等)要满足的条件: •可以被正确识别 通过Content-Type 首部说明媒体格式,Content-Language 说明语言,以便浏览器和其他客户端能正确处理 ...
- Jsp和session、request.getSession()
request.getSession(false); 这段代码代表,如果没有和当前request关联的session则不创建session并且返回空 request.getSession(true); ...
- (原+转)ubuntu16中安装opencv2.4.11(2.4.13)
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5638117.html 参考网址: http://www.cnblogs.com/jeakon/arch ...