`

JS方法大总结

JS 
阅读更多

1、js验证身份证信息是否合法

 

 

//js验证身份证信息是否合法
function validateCard(pId, field){
		    var arrVerifyCode = [1,0,"x",9,8,7,6,5,4,3,2];
		    var Wi = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];
		    var Checker = [1,9,8,7,6,5,4,3,2,1,1];
		    if(pId.length != 15 && pId.length != 18){
		    	return false;
		    }
		    var Ai=pId.length==18 ?  pId.substring(0,17)   :   pId.slice(0,6)+"19"+pId.slice(6,16);
		    if (!/^\d+$/.test(Ai)){
		    	return false;
		    }
		    var yyyy=Ai.slice(6,10) ,  mm=Ai.slice(10,12)-1  ,  dd=Ai.slice(12,14);
		    var d=new Date(yyyy,mm,dd) ,  now=new Date();
		     var year=d.getFullYear() ,  mon=d.getMonth() , day=d.getDate();
		    if (year!=yyyy || mon!=mm || day!=dd || d>now || year<1900){
		    	return false;
		    }
		    for(var i=0,ret=0;i<17;i++)  ret+=Ai.charAt(i)*Wi[i];    
		    Ai+=arrVerifyCode[ret %=11];     
		    return pId.length ==18 && pId != Ai?false:true;

  

2、判断浏览器类型及版本

//判断浏览器类型及版本
function CheckBrowser() {  
    ua = navigator.userAgent;  
    ua = ua.toLocaleLowerCase();  
    var browserVersion;  
    if (ua.match(/msie/) != null || ua.match(/trident/) != null) {  
        browserType = "IE";  
        //哈哈,现在可以检测ie11.0了!  
        browserVersion = ua.match(/msie ([\d.]+)/) != null ? ua.match(/msie ([\d.]+)/)[1] : ua.match(/rv:([\d.]+)/)[1];  
    } else if (ua.match(/firefox/) != null) {  
        browserType = "火狐";  
    } else if (ua.match(/opera/) != null) {  
        browserType = "欧朋";  
    } else if (ua.match(/chrome/) != null) {  
        browserType = "谷歌";  
    } else if (ua.match(/safari/) != null) {  
        browserType = "Safari";  
    }  
    var arr = new Array(browserType, browserVersion);  
    return arr;  
}

 

3、数定转化为大写形式

//转换为大写
function numberToCN(numberValue){
	var numberValue=new String(Math.round(numberValue*100)); // 数字金额
	var chineseValue=""; // 转换后的汉字金额
	var String1 = "零壹贰叁肆伍陆柒捌玖"; // 汉字数字
	var String2 = "万仟佰拾亿仟佰拾万仟佰拾元角分"; // 对应单位
	var len=numberValue.length; // numberValue 的字符串长度
	var Ch1; // 数字的汉语读法
	var Ch2; // 数字位的汉字读法
	var nZero=0; // 用来计算连续的零值的个数
	var String3; // 指定位置的数值
	if(len>15){
	return "超出计算范围";
	}
	if (numberValue==0){
	chineseValue = "零元整";
	return chineseValue;
	}
	String2 = String2.substr(String2.length-len, len); // 取出对应位数的STRING2的值
	for(var i=0; i<len; i++){
	String3 = parseInt(numberValue.substr(i, 1),10); // 取出需转换的某一位的值
	if ( i != (len - 3) && i != (len - 7) && i != (len - 11) && i !=(len - 15) ){
	if ( String3 == 0 ){
	Ch1 = "";
	Ch2 = "";
	nZero = nZero + 1;
	}
	else if ( String3 != 0 && nZero != 0 ){
	Ch1 = "零" + String1.substr(String3, 1);
	Ch2 = String2.substr(i, 1);
	nZero = 0;
	}
	else{
	Ch1 = String1.substr(String3, 1);
	Ch2 = String2.substr(i, 1);
	nZero = 0;
	}
	}
	else{ // 该位是万亿,亿,万,元位等关键位
	if( String3 != 0 && nZero != 0 ){
	Ch1 = "零" + String1.substr(String3, 1);
	Ch2 = String2.substr(i, 1);
	nZero = 0;
	}
	else if ( String3 != 0 && nZero == 0 ){
	Ch1 = String1.substr(String3, 1);
	Ch2 = String2.substr(i, 1);
	nZero = 0;
	}
	else if( String3 == 0 && nZero >= 3 ){
	Ch1 = "";
	Ch2 = "";
	nZero = nZero + 1;
	}
	else{
	Ch1 = "";
	Ch2 = String2.substr(i, 1);
	nZero = nZero + 1;
	}
	if( i == (len - 11) || i == (len - 3)){ // 如果该位是亿位或元位,则必须写上
	Ch2 = String2.substr(i, 1);
	}
	}
	chineseValue = chineseValue + Ch1 + Ch2;
	}
	if ( String3 == 0 ){ // 最后一位(分)为0时,加上“整”
	chineseValue = chineseValue + "整";
	}
	return chineseValue;
}

 3、实现千元分隔符

 

function formatNumber(num){  
 if(!/^(\+|-)?(\d+)(\.\d+)?$/.test(num)){  
  return num;  
 }  
 var a = RegExp.$1,b = RegExp.$2,c = RegExp.$3;  
 var re = new RegExp().compile("(\\d)(\\d{3})(,|$)");  
 while(re.test(b)){  
  b = b.replace(re,"$1,$2$3");  
 }  
 return a +""+ b +""+ c;  
} 

 4、时间日期格式转换

Date.prototype.Format = function(formatStr) {
    var str = formatStr;
    var Week = ['日', '一', '二', '三', '四', '五', '六'];
    str = str.replace(/yyyy|YYYY/, this.getFullYear());
    str = str.replace(/yy|YY/, (this.getYear() % 100) > 9 ? (this.getYear() % 100).toString() : '0' + (this.getYear() % 100));
    str = str.replace(/MM/, (this.getMonth() + 1) > 9 ? (this.getMonth() + 1).toString() : '0' + (this.getMonth() + 1));
    str = str.replace(/M/g, (this.getMonth() + 1));
    str = str.replace(/w|W/g, Week[this.getDay()]);
    str = str.replace(/dd|DD/, this.getDate() > 9 ? this.getDate().toString() : '0' + this.getDate());
    str = str.replace(/d|D/g, this.getDate());
    str = str.replace(/hh|HH/, this.getHours() > 9 ? this.getHours().toString() : '0' + this.getHours());
    str = str.replace(/h|H/g, this.getHours());
    str = str.replace(/mm/, this.getMinutes() > 9 ? this.getMinutes().toString() : '0' + this.getMinutes());
    str = str.replace(/m/g, this.getMinutes());
    str = str.replace(/ss|SS/, this.getSeconds() > 9 ? this.getSeconds().toString() : '0' + this.getSeconds());
    str = str.replace(/s|S/g, this.getSeconds());
    return str
}

 5、判断是否为数字类型

function isDigit(value) {
    var patrn = /^[0-9]*$/;
    if (patrn.exec(value) == null || value == "") {
        return false
    } else {
        return true
    }
}

 6、设置cookie值

function setCookie(name, value, Hours) {
    var d = new Date();
    var offset = 8;
    var utc = d.getTime() + (d.getTimezoneOffset() * 60000);
    var nd = utc + (3600000 * offset);
    var exp = new Date(nd);
    exp.setTime(exp.getTime() + Hours * 60 * 60 * 1000);
    document.cookie = name + "=" + escape(value) + ";path=/;expires=" + exp.toGMTString() + ";domain=360doc.com;"
}

 7、获取cookie值

function getCookie(name) {
    var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
    if (arr != null) return unescape(arr[2]);
    return null
}

 8、加入收藏夹

function AddFavorite(sURL, sTitle) {
    try {
        window.external.addFavorite(sURL, sTitle)
    } catch(e) {
        try {
            window.sidebar.addPanel(sTitle, sURL, "")
        } catch(e) {
            alert("加入收藏失败,请使用Ctrl+D进行添加")
        }
    }
}

 9、设为首页

function setHomepage() {
    if (document.all) {
        document.body.style.behavior = 'url(#default#homepage)';
        document.body.setHomePage('http://w3cboy.com')
    } else if (window.sidebar) {
        if (window.netscape) {
            try {
                netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect")
            } catch(e) {
                alert("该操作被浏览器拒绝,如果想启用该功能,请在地址栏内输入 about:config,然后将项 signed.applets.codebase_principal_support 值该为true")
                }
        }
        var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);
        prefs.setCharPref('browser.startup.homepage', 'http://w3cboy.com')
    }
}

 10、日期格式化函数+调用方法

Date.prototype.format = function(format){
    var o = {
        "M+" : this.getMonth()+1, //month
        "d+" : this.getDate(),  //day
        "h+" : this.getHours(),   //hour
        "m+" : this.getMinutes(), //minute
        "s+" : this.getSeconds(), //second
        "q+" : Math.floor((this.getMonth()+3)/3),  //quarter
        "S" : this.getMilliseconds() //millisecond
    };
    if(/(y+)/.test(format)) format=format.replace(RegExp.$1,
(this.getFullYear()+"").substr(4 - RegExp.$1.length));
    for(var k in o){
        if(new RegExp("("+ k +")").test(format))
            format = format.replace(RegExp.$1,RegExp.$1.length==1 ? o[k] :("00"+ o[k]).substr((""+ o[k]).length));
    }
    return format;
}
alert(new Date().format("yyyy-MM-dd hh:mm:ss"));

 11、打开一个窗体通用方法

function openWindow(url,windowName,width,height){
    var x = parseInt(screen.width / 2.0) - (width / 2.0); 
    var y = parseInt(screen.height / 2.0) - (height / 2.0);
    var isMSIE= (navigator.appName == "Microsoft Internet Explorer");
    if (isMSIE) {
        var p = "resizable=1,location=no,scrollbars=no,width=";
        p = p+width;
           p = p+",height=";
           p = p+height;
        p = p+",left=";
        p = p+x;
        p = p+",top=";
        p = p+y;
        retval = window.open(url, windowName, p);
    } else {
        var win = window.open(url, "ZyiisPopup", "top=" + y + ",left=" + x + ",scrollbars=" + scrollbars + ",dialog=yes,modal=yes,width=" + width + ",height=" + height + ",resizable=no" );
        eval("try { win.resizeTo(width, height); } catch(e) { }");
        win.focus();
    }
}

 

分享到:
评论

相关推荐

    Javascript中字符串相关常用的使用方法总结

    ### JavaScript中字符串相关常用的使用方法总结 #### 一、引言 JavaScript作为一种广泛使用的脚本语言,被大量应用于Web开发之中。其中,字符串处理是非常重要的一个方面,涉及到数据的读取、修改、拼接等操作。...

    javascript课程内容总结

    JavaScript 课程内容总结 JavaScript 是一种广泛应用于网页开发的编程语言,以下是 JavaScript 的基础知识点总结。 数据类型 在 JavaScript 中,数据类型包括字符串(string)、数值型(number)、布尔型...

    JS方法总结

    这篇总结将深入探讨JavaScript的各种方法,同时也会分享一些软件测试中的实用经验。 一、JavaScript基础方法 1. 变量声明:在JavaScript中,我们可以使用`var`, `let`, 或 `const` 声明变量。`var` 具有全局或函数...

    a标签调用js的方法总结

    &lt;a&gt; 标签的 href 属性用于指定超链接目标的 URL,href 属性的值可以是任何有效文档的相对或绝对 URL,包括片段标识符和 JavaScript 代码段。 这里的href=”[removed];” rel=”external nofollow” rel=”external ...

    android webview中使用Java调用JavaScript方法并获取返回值

    总结一下,从Android WebView调用JavaScript方法并获取返回值的关键步骤包括: 1. 启用WebView组件的JavaScript支持。 2. 使用addJavascriptInterface()方法建立Java和JavaScript之间的通信桥梁。 3. 在Java类中...

    js常用知识总结经典javascript知识总结,经典javascript知识总结

    这篇经典JavaScript知识总结涵盖了从基础语法到高级特性的多个方面,旨在帮助有一定基础的开发者巩固和扩展他们的JavaScript知识。 1. **创建脚本块**:在HTML文件中,使用`&lt;script&gt;`标签来插入JavaScript代码。...

    JavaScript对象创建总结

    javascript对象创建方法总结,通过这些方法的总结,可以对对象有了更深一步的了解,也加深了对对象的巩固认识。

    纯JS方法比较日期之间大小(实用)

    ### 纯JS方法比较日期之间大小(实用) 在日常的Web开发中,经常会遇到需要对日期进行处理的情况,比如比较两个日期的大小、计算日期间隔等。本篇将详细介绍如何仅使用JavaScript来实现日期之间的大小比较功能,并...

    21天学js总结

    在“21天学js”教程中,JavaScript作为一种强大的客户端脚本语言,广泛应用于网页交互和动态效果的实现。这个21天的学习旅程涵盖了JavaScript的基础到进阶内容,旨在帮助初学者快速掌握这一核心技术。 首先,我们从...

    C#执行Javascript代码的几种方法总结

    一、开源项目 Javascript .NET 地址: http://javascriptdotnet.codeplex.com/ 它是Google Chrome V8引擎在.NET上的封装,功能完善,性能相对较高,推荐使用! (缺点就是asp.net web应用上,好象会报错) 示例代码: ...

    JavaScript 与 JQuery 的方法总结

    JavaScript 与 JQuery 的方法总结

    JavaScript语言基础知识总结(10张,神一样的总结!)

    这篇总结涵盖了JavaScript语言的基础知识,帮助初学者快速上手并深入理解这门强大的脚本语言。 首先,我们来看“JavaScript 数据类型”。JavaScript有七种数据类型:Undefined、Null、Boolean、Number、BigInt、...

    js对象属性方法完美总结.docx

    js对象属性方法完美总结.docx

    js对象属性方法完美总结.pdf

    js对象属性方法完美总结.pdf

    javascript实用方法总结

     本章没有深奥的讲解js一些底层原理,比如this指针、作用域、原型啦,涉及的都是一些有利于平时开发时简化代码,提高执行效率,或者说可以当做一种经验方法来使用,篇幅都不长,小步快跑的让你阅读完整篇文章,体验...

    JavaScript必看全面总结.zip

    14. **Node.js基础**:了解JavaScript在服务器端的应用,Node.js的事件驱动模型,以及文件系统、网络请求等模块。 15. **框架与库**:如React、Vue、Angular等,它们如何简化前端开发,以及如何结合JavaScript进行...

    js调用服务器端方法总结.pdf

    标题中提到的“js调用服务器端方法总结”表明文档内容将围绕JavaScript如何调用服务器端的接口、方法以及相关的技术点进行阐述。描述部分与标题相同,再次强调了文档的主题内容。 文档内容提到了多个技术和概念,...

    JAVASCRIPT解析XML的方法总结.pdf

    JAVASCRIPT解析XML的方法总结.pdf

    VS下JS调试方法的一点总结

    以下是对“VS下JS调试方法的一点总结”的深入解析与扩展。 ### VS与JavaScript调试概览 Visual Studio作为一款功能强大的集成开发环境(IDE),不仅支持多种编程语言,还提供了丰富的调试工具。对于JavaScript...

Global site tag (gtag.js) - Google Analytics