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 验证的这些典型的表单数据有: 用户是否已填写表单 ...
随机推荐
- 从Ubuntu12.04LTS到Foreda19再到Foreda8
装Ubuntu的初衷是以为它能识别我的PCI无线网卡,但装了两遍没有做到. 昨天在Ubuntu装jdk7,其过程与正常Linux安装jdk差别不小,有点背离的意思.另外VI的用法也和正常Unix/Li ...
- iOS开发系列课程预告
近期在Mac和iOS上做开发,认为应该写一点东西分享给感兴趣的童鞋们.在此之前.以前有非常多同行们都在埋怨苹果Objective-C的复杂和难以上手,为此也有非常多人对今年(2014年)刚推出的Swi ...
- 深夜闲聊节目:华为 Mate7的指纹识别安全么?
许久没有写过不论什么东西,近期非常忙并且还要准备找工作之类的,唉... ....今天的文章也不说技术,仅仅是闲聊. 一.手机指纹识别一揽 打开非常多站点.论坛的科技栏目,充斥着各种手机讯息!仿佛手机已 ...
- jasperreport 通过javabean datasoource实现chart的报表
继上次report的demo后,还在继续做着report方面的research,今天主要是实现了通过javabean datasource填充chart图表,通过webservice下载pdf格式的报 ...
- iOS Strong 和 weak
iOS 5 中对属性的设置新增了strong 和weak关键字来修饰属性(iOS 5 之前不支持ARC) strong 用来修饰强引用的属性: @property (strong) SomeClass ...
- PHP高级教程-过滤器
PHP 过滤器 PHP 过滤器用于验证和过滤来自非安全来源的数据,比如用户的输入. 什么是 PHP 过滤器? PHP 过滤器用于验证和过滤来自非安全来源的数据. 测试.验证和过滤用户输入或自定义数据是 ...
- 子查询二(在HAVING子句中使用子查询)
HAVING子句的主要功能是对分组后的数据进行过滤,如果子查询在HAVING中表示要进行分组过滤,一般返回单行单列的数据 示例一.查询部门编号,人数,平均工资,并且要求这些部门的平均工资高于公司的平均 ...
- 批量上传插件(flash,html5,jquery)
1.jQuery File Upload 官网:http://blueimp.github.com/jQuery-File-Upload/ 在线示例:http://blueimp.github.com ...
- 虚拟机stack全分析
通过jps -lv 获取到本地的一个JVM实例进程.再通过jstack pid > thread.txt ,把stack trace输出到thread.txt文件中. 2012-08-28 2 ...
- 在命令行上 使用 mutt, fetchmail, maildrop, msmtp 收发邮件
基于shell 现在已经有了 Mail.app, Thunderbird, Outlook 这些图形化工具能很方便的处理邮件,为啥还需要 mutt 这种命令行文本方式的邮件工具呢?mutt 的一个优势 ...