`
王世伟
  • 浏览: 25662 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

js的验证

    博客分类:
  • Web
 
阅读更多
// 格式化数字,保持小数点位数
if(!Number.prototype.toFixed) {
	Number.prototype.toFixed=function(num) {
		with(Math)return   round(this.valueOf()*pow(10,num))/pow(10,num);   
	};
}
// 身份证号码验证
function isIdCardNo(num) {
	
	var factorArr = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
	//var error;
	var varArray = new Array();
	var intValue;
	var lngProduct = 0;
	var intCheckDigit;
	var intStrLen = num.length;
	var idNumber = num;
		 // 输入身份证号码长度判断
     if ((intStrLen != 15) && (intStrLen != 18)) {
         return false;
     }
     // 数字位判断
     for(i=0;i<intStrLen;i++) {
         varArray[i] = idNumber.charAt(i);
         if ((varArray[i] < '0' || varArray[i] > '9') && (i != 17)) {
             return false;
         } else if (i < 17) {
             varArray[i] = varArray[i]*factorArr[i];
         }
     }
     if (intStrLen == 18) {
         // 出生日期判断
         var date8 = idNumber.substring(6,14);
         if (isDate8(date8) == false) {
             return false;
         }
         // 计算校验位
         for(i=0;i<17;i++) {
             lngProduct = lngProduct + varArray[i];
         }
         intCheckDigit = 12 - lngProduct % 11;
         switch (intCheckDigit) {
             case 10:
                 intCheckDigit = 'X';
                 break;
             case 11:
                 intCheckDigit = 0;
                 break;
             case 12:
                 intCheckDigit = 1;
                 break;
         }
         // 判断校验位
         if (varArray[17].toUpperCase() != intCheckDigit) {
             return false;
         }
     }
     else{
		 // 出生日期判断
         var date6 = idNumber.substring(6,12);
         if (isDate6(date6) == false) {
             return false;
         }
     }
     return true;
}

// email验证
function isEmail(email) {
	if (email=="") return true;
	return /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(email);
}
// 手机号码验证
function isMobilePhone(mobilePhone) {
	if (mobilePhone=="") return true;
	return (mobilePhone.length == 11 && /^(((13[0-9]{1})|(14[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/.test(mobilePhone));
}
// YYYYMM日期格式验证
function isDate6(sDate) {
	return isDate8("19"+sDate);
} 

// YYYYMMDD日期格式验证
function isDate8(sDate) {
	if(!/^[0-9]{8}$/.test(sDate)) {
		return false;
	}
	var year, month, day;
	year = sDate.substring(0, 4);
	month = sDate.substring(4, 6);
	day = sDate.substring(6, 8);

	var iaMonthDays = [31,28,31,30,31,30,31,31,30,31,30,31];

	if (year < 1900 || year > 2100) return false;
	if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) iaMonthDays[1]=29;
	if (month < 1 || month > 12) return false;
	if (day < 1 || day > iaMonthDays[month - 1]) return false;
	return true;
} 


/**
 * 判断字符串的长度,超出部分用省略号表示
 */
function strlong(str,num){
	var showstr = "";
	if(str.length > num){
		showstr = str.substring(0,num)+"...";
	}
	else{
		showstr = str;
	}
	return showstr;
}
/**
 * 判断字符串的长度,超出部分用省略号表示
 */ 
function SetString(str,len){
 	var strlen = 0; 
 	var s = "";
	for(var i = 0;i < str.length;i++){
		if(str.charCodeAt(i) > 128)
			strlen += 2;
		else 
			strlen++;
       	 	s += str.charAt(i);
		if(strlen >= len) 
        	return s + "...";
	}
	return s;
}
/**
 *判断浏览器类型
 */
function getOs() { 
   var OsObject = ""; 
   if(navigator.userAgent.indexOf("MSIE")>0) { 
        return "MSIE"; 
   } 
   if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){ 
        return "Firefox"; 
   } 
} 

// 获取元素的绝对坐标
function gE(x){return document.getElementById(x);}
function gETop(x){var t=0;while(x){t+=x.offsetTop;x=x.offsetParent;}return t;}
function gEBottom(x){return (x.offsetHeight+gETop(x));}
function gELeft(x){var l=0;while(x){l+=x.offsetLeft;x=x.offsetParent;}return l;}
function gERight(x){return (x.offsetWidth+gELeft(x));}

// 获取两个日期的间隔天数
function getDateDiff(startDate, endDate) { 
	var startTime = new Date(Date.parse(startDate.replace(/-/g, "/"))).getTime(); 
	var endTime = new Date(Date.parse(endDate.replace(/-/g, "/"))).getTime(); 
	var dates = Math.abs((startTime - endTime))/(1000*60*60*24); 
	return dates; 
}
var specialDateMap = {
	"2012-02-06":"元宵节",
	"2012-02-07":"十六",
	"2012-02-14":"情人节",
	"2012-04-04":"清明节",
	"2012-05-01":"劳动节",
	"2012-06-01":"儿童节",
	"2012-06-23":"端午节",
	"2012-08-01":"建军节",
	"2012-09-10":"教师节",
	"2012-09-30":"中秋节",
	"2012-10-01":"国庆节",
	"2012-12-25":"圣诞节",
	"2013-01-01":"元旦节",
	"2013-02-10":"春节",
	"2013-02-24":"元宵节",
	"2013-04-04":"清明节",
	"2013-05-01":"劳动节",
	"2013-06-01":"儿童节",
	"2013-06-12":"端午节",
	"2013-09-10":"教师节",
	"2013-09-19":"中秋节",
	"2013-10-01":"国庆节",
	"2013-12-25":"圣诞节",
	"2014-01-01":"元旦节"
};
var weekArr = new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
function getSpecialDateTip(strDate) {
	var nowdt = new Date();
    var today = nowdt.getFullYear()+"-"+(nowdt.getMonth()+1)+"-"+ nowdt.getDate();
    var d = getDateDiff(today, strDate);
    if(d==0) {return '今天'; }
    else if(d==1) {return '明天';}
    else if(d==2) {return '后天';}
	if(specialDateMap[strDate]) {
		return specialDateMap[strDate];
	}
	else {
		var date = new Date(Date.parse(strDate.replace(/-/g, "/")));
		return weekArr[date.getDay()];
	}
}
 

 

分享到:
评论

相关推荐

    js验证代码大全

    JS验证代码大全是汇集了多种JavaScript验证技术的资源集合,可以帮助开发者在创建网页表单、验证用户输入等方面提供有效的解决方案。 一、表单验证基础 在网页开发中,表单验证是非常重要的一环,它能够确保用户...

    JS验证

    Validator.chm文件是一个Windows帮助文档,可能包含了关于JavaScript验证的详细指南或API参考。通常,CHM文件是由多个HTML页面组成,可以方便地搜索和查看特定主题。这个文件可能涵盖了各种验证方法、函数、类或者...

    js验证数字方法js验证数字方法

    本文将详细介绍一种JavaScript验证数字的方法,并通过具体的代码示例来解释其实现原理。 #### 二、需求分析 根据题目提供的信息,我们需要实现一个功能:验证用户输入的文本框中的值是否为长度为6位的纯数字。具体...

    JS验证包,有示例.rar......

    JavaScript(简称JS)是一种轻量级的编程语言,主要用于网页和网络应用的开发。它能够直接在客户端运行,无需...通过深入研究`pubcheck.js`的源代码,我们可以学习到更多关于JavaScript验证策略和实现方式的知识。

    js验证大全,非常棒的js验证,含有多种特效,是程序员必备的东东

    "js验证大全"是一个集合了多种JavaScript验证技术和特效的资源包,对于程序员来说,它是一个非常宝贵的参考资料。 首先,我们来看一下这个压缩包中包含的文件: 1. **Default.aspx**:这是一个ASP.NET网页文件,...

    js表单验证、js导出excel、js验证

    JavaScript,简称JS,是网页开发中不可或缺的一部分,主要用于实现客户端的交互逻辑和增强用户体验。本篇文章将深入探讨三个关键知识点:JS表单验证、JS导出Excel以及JS验证。 一、JS表单验证 在Web应用程序中,...

    js验证框架

    JavaScript验证框架是Web开发中常用的一种工具,它用于在客户端对用户输入的数据进行实时检查,以确保数据的有效性和合规性,从而减少服务器端的压力并提供更好的用户体验。本项目提供的"js验证框架"是一个轻量级的...

    js 验证 自定义 类

    总结,这个"js 验证 自定义 类"框架旨在提供一种高效、灵活和可扩展的JavaScript验证解决方案。通过其内置的基本验证功能和自定义规则的能力,开发者可以轻松应对各种数据验证需求,同时保持良好的用户体验。结合...

    js验证错误信息.rar

    在JavaScript(JS)中,验证错误信息是网页前端开发中不可或缺的部分。这通常涉及到用户输入数据的检查,确保数据的有效性和安全性。"js验证错误信息.rar" 包含的资源显然是一个封装了验证功能的JS类,适用于文本框...

    JS验证只能输入数字

    根据给定文件的信息,本文将详细介绍如何使用JavaScript(简称JS)进行输入验证,具体包括三种情况:一是确保用户只能输入数字;二是确保用户输入的是字母、数字或下划线;三是验证固定电话号码的格式是否正确。这三...

    js验证大全,各种验证,很方便,很实用

    在Web开发中,JavaScript验证扮演着至关重要的角色,它能够提高用户体验,减少服务器负担,防止无效或错误的数据提交。本文将深入探讨JavaScript验证的各种方法和应用场景。 1. **基础验证** - **非空验证**:检查...

    修改密码时,js验证提示

    总之,JavaScript验证在密码修改过程中扮演着至关重要的角色,它可以确保用户输入的数据满足特定的安全标准,从而提高整个系统的安全性。正确实现和使用这些验证技术,对于创建一个用户友好且安全的Web应用至关重要...

    JS验证表单填写的格式是否正确的方法

    在网页开发中,JavaScript(简称JS)是一种必不可少的前端编程语言,它被广泛用于处理用户交互,其中之一就是验证用户在表单中输入的数据格式。表单验证能够确保用户提交的信息符合预设的标准,例如正确的电话号码、...

    js验证居民身份证

    js验证居民身份证,就这么简单,你懂得~

    一个js验证表单

    3. ComboBoxCheckTree.js:这是主要的JavaScript文件,很可能包含了ComboBoxCheckTree组件的逻辑代码,包括数据加载、用户交互处理、验证功能等。 4. treedata.js:这是一个可能存储树形数据的文件,数据可能以JSON...

    常用的JS验证和函数汇总

    总结来说,本文所列出的JavaScript验证和函数汇总,对于前端开发人员在处理数值和验证输入时提供了有价值的工具,不仅减少了重复编写验证代码的工作量,还确保了数据处理的准确性,提高开发效率和代码质量。...

    js验证Validator,我是佛山人

    **JavaScript验证**在Web开发中扮演着重要角色,主要用于确保用户在表单中输入的数据符合特定格式或规则,例如检查邮箱格式、手机号码合法性、密码强度等。在没有服务器端验证的情况下,JavaScript验证能提供即时...

    javascript验证方法,自己写的, 都是经常用的,欢迎下载

    JavaScript验证主要分为客户端验证和服务器端验证。客户端验证通常通过JavaScript在用户提交表单前进行,可以实时反馈错误信息,减少不必要的服务器请求,提高响应速度。而服务器端验证则是为了防止恶意用户绕过...

    100行超适用纯js验证控件支持自定义UI扩展

    这个标题暗示我们,我们将探讨一个轻量级、高效且具有高度可定制性的JavaScript验证解决方案。 在描述中提到的链接(http://blog.csdn.net/luoyehanfei/article/details/42262249)可能提供了一个详细的实现方案,...

Global site tag (gtag.js) - Google Analytics