`

js常用格式化

阅读更多
Date.prototype.format = function(format) //author: meizz
{ 
  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;
} 

//银行卡号格式化
var cardNO = function(value,obj,row){
	return value.replace(/(?=(?:\d{4})+(?!\d))/g,' ');
}
//格式化金额
var fmoney = function(s,obj,row){
   // s = s/100;
   n = 2;  
   s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";  
   var l = s.split(".")[0].split("").reverse(),  
   r = s.split(".")[1];  
   t = "";  
   for(var i = 0; i < l.length; i ++ )  
   {  
      t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");  
   }  
   return "¥"+t.split("").reverse().join("") + "." + r;  
}  
//格式化金额
var money = function(s,obj,row){
   // s = s/100;
   n = 2;  
   s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";  
   var l = s.split(".")[0].split("").reverse(),  
   r = s.split(".")[1];  
   t = "";  
   for(var i = 0; i < l.length; i ++ )  
   {  
      t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");  
   }  
   return t.split("").reverse().join("") + "." + r;  
}
//格式化金额
var jmoney = function(s,obj,row){ 
   s = s/100;
   n = 2;  
   s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";  
   var l = s.split(".")[0].split("").reverse(),  
   r = s.split(".")[1];  
   t = "";  
   for(var i = 0; i < l.length; i ++ )  
   {  
      t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");  
   }  
   var forma = t.split("").reverse().join("") + "." + r;
   var formb;
   if(forma.substring(0,1)=="-"){
	   if(forma.substring(1,2)==","){
		   formb = forma.substring(2, forma.length);
		   return "-"+formb;
	   }else{
		   return forma; 
	   }
	   
   }else{
	   return forma;  
   } 
}
//格式化金额
var fmoney_1 = function (cellvalue,p,row){
    if(cellvalue != null && cellvalue != ""){
   	   return fmoney(cellvalue,p,row);
    }else{
 	   return "";
    }
 }
 
var to_date_hms = function (s,obj,row){
	if(s==null){
		return "";
	}
	return new Date(s).format("yyyy-MM-dd hh:mm:ss");
}

var to_date_hm = function (s,obj,row){
	if(s==null){
		return "";
	}
	return new Date(s).format("yyyy-MM-dd hh:mm");
}

var string_to_date = function(s,sp){
	if(s==null){
		return "";
	}
	if(sp==null){
		sp = "-";
	}
	var d= s.split(sp); 
	return new Date(d[0], d[1]-1, d[2]); 
}

var to_month = function (s,obj,row){
	if(s==null){
		return "";
	}
	return new Date(s).format("yyyy-MM");
}

var to_hms = function (s,obj,row){
	if(s==null){
		return "";
	}
	return new Date(s).format("hh:mm:ss");
}

var to_format = function (s,obj,row){
	if(s==null){
		return "";
	}
	return s;
}

var to_date = function (s,obj,row){
	if(s==null){
		return "";
	}
	return new Date(s).format("yyyy-MM-dd");
}

function digit_uppercase(n) {
    var fraction = ['角', '分'];
    var digit = [
        '零', '壹', '贰', '叁', '肆',
        '伍', '陆', '柒', '捌', '玖'
    ];
    var unit = [
        ['元', '万', '亿'],
        ['', '拾', '佰', '仟']
    ];
    var head = n < 0? '负': '';
    n = Math.abs(n);

    var s = '';

    for (var i = 0; i < fraction.length; i++) {
        s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');
    }
    s = s || '整';
    n = Math.floor(n);

    for (var i = 0; i < unit[0].length && n > 0; i++) {
        var p = '';
        for (var j = 0; j < unit[1].length && n > 0; j++) {
            p = digit[n % 10] + unit[1][j] + p;
            n = Math.floor(n / 10);
        }
        s = p.replace(/(零.)*零$/, '')
             .replace(/^$/, '零')
          + unit[0][i] + s;
    }
    return head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整');
};

/**
 * 卡号格式化
 */
var cardFormat = function(cardNo){
	if(!cardNo) {
		return '';
	}
	var no = [], start = 0, len = cardNo.length-4;
	while(start <= len) {
		no.push(cardNo.substring(start, start+4));
		no.push('&nbsp;');
		start += 4;
	}
	return no.join('');
};

var checkIdCard = function(idcard){
		var area = {11 : "北京", 12 : "天津", 13 : "河北", 14 : "山西", 15 : "内蒙古", 21 : "辽宁", 22 : "吉林",  
	            23 : "黑龙江", 31 : "上海", 32 : "江苏", 33 : "浙江", 34 : "安徽", 35 : "福建", 36 : "江西",   
	            37 : "山东", 41 : "河南", 42 : "湖北", 43 : "湖南", 44 : "广东", 45 : "广西", 46 : "海南",  
	            50 : "重庆", 51 : "四川", 52 : "贵州", 53 : "云南", 54 : "西藏", 61 : "陕西", 62 : "甘肃",  
	            63 : "青海", 64 : "宁夏", 65 : "新疆", 71 : "台湾", 81 : "香港", 82 : "澳门", 91 : "国外" };
		var result = new Array("0", "身份证长度必须为15或18位!", "身份证出生日期超出范围或含有非法字符!",  
		    "身份证校验位错误!", "身份证地区非法!");  
		var  Y, JYM;  
		var S, M;  
		var idcard_array = new Array();  
		idcard_array = idcard.split("");  
		// 地区检验  
		if (area[parseInt(idcard.substr(0, 2))] == null)  
		return result[4];  
		// 身份号码位数及格式检验  
		switch (idcard.length) {  
		case 15 :  
		    if ((parseInt(idcard.substr(6, 2)) + 1900) % 4 == 0  
		            || ((parseInt(idcard.substr(6, 2)) + 1900) % 100 == 0 && (parseInt(idcard.substr(6, 2)) + 1900)% 4 == 0)) {  
		        ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/;  
		        // 测试出生日期的合法性  
		    } else {  
		        ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/;  
		        // 测试出生日期的合法性  
		    }  
		    if (ereg.test(idcard))  
		        return result[0];  
		    else {  
		        return result[2];  
		    }  
		    break;  
		case 18 :  
		    // 18位身份号码检测  
		    // 出生日期的合法性检查  
		    // 闰年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))  
		    // 平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))  
		    if (parseInt(idcard.substr(6, 4)) % 4 == 0  
		            || (parseInt(idcard.substr(6, 4)) % 100 == 0 && parseInt(idcard.substr(6, 4))% 4 == 0)) {  
		        ereg = /^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/;// 闰年出生日期的合法性正则表达式  
		    } else {  
		        ereg = /^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/;// 平年出生日期的合法性正则表达式  
		    }  
		    if (ereg.test(idcard)) {// 测试出生日期的合法性  
		    // 计算校验位  
		        S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10]))* 7  
		            + (parseInt(idcard_array[1]) + parseInt(idcard_array[11]))* 9  
		            + (parseInt(idcard_array[2]) + parseInt(idcard_array[12]))* 10  
		            + (parseInt(idcard_array[3]) + parseInt(idcard_array[13]))* 5  
		            + (parseInt(idcard_array[4]) + parseInt(idcard_array[14]))* 8  
		            + (parseInt(idcard_array[5]) + parseInt(idcard_array[15]))* 4  
		            + (parseInt(idcard_array[6]) + parseInt(idcard_array[16]))* 2  
		            + parseInt(idcard_array[7]) * 1  
		            + parseInt(idcard_array[8]) * 6  
		            + parseInt(idcard_array[9]) * 3;  
		        Y = S % 11;  
		        M = "F";  
		        JYM = "10X98765432";  
		        M = JYM.substr(Y, 1);// 判断校验位  
		        if (M == idcard_array[17].toUpperCase())  
		            return result[0]; // 检测ID的校验位  
		        else  
		            return result[3];  
		    } else  
		        return result[2];  
		    break;  
		default :  
		    return result[1];  
		    break;  
		}  
};

分享到:
评论

相关推荐

    JS中格式化数字的5个方法

    根据提供的文件信息,本文将详细介绍JavaScript中五种常用的数字格式化方法:`CurrencyFormatted`、`format_number`、`CommaFormatted`、`addCommas` 和 `number_format`。这些函数可以帮助开发者更加灵活地处理和...

    易语言JS代码格式化

    易语言JS代码格式化工具就是将JavaScript代码进行美化和整理,使其更符合规范,便于阅读和维护。 在编程过程中,代码格式化是一项重要的任务,尤其对于JS这种语法灵活、可读性要求高的语言。良好的代码格式可以使...

    易语言JS代码格式化源码

    总的来说,易语言JS代码格式化源码是结合了易语言编程和JavaScript语法理解的实用工具,它的开发涉及到了编程语言的解析、格式化算法和用户交互等多个方面。通过深入研究和理解这份源码,开发者不仅可以学习到易语言...

    Js获取当前日期时间及格式化代码

    描述中的知识点:介绍了如何使用JavaScript(Js)获取当前的日期和时间,并提供了一个格式化日期时间的代码示例。 标签中的知识点:涉及到Js在获取日期时间方面相关的几个关键功能和方法,包括获取年份、月份、日、...

    JavaScript代码格式化工具

    在JavaScript社区中,有几款常用的代码格式化工具,例如: - **Prettier**:一款非常流行的代码格式化工具,支持多种编程语言,包括JavaScript。它有强烈的代码风格偏好,但可以通过配置文件调整其行为。 - **...

    实用工具 格式化Html格式,格式代javasctip格式,javascript代码压缩

    "base.js", "jsformat.js", "jsformat2.js"可能是JavaScript代码格式化相关的文件,它们的作用是将无格式或混乱的JS代码转换为规范化的形式。格式化JavaScript代码可以确保每个函数、变量和语句都在适当的位置,使...

    JS/HTML格式化工具可脱机使用

    JavaScript(简称JS)和HTML是Web开发中的基础语言,它们的源代码往往需要进行格式化以保持整洁和可读性。在线格式化工具是开发者常用的辅助工具,但它们依赖网络连接,这在某些情况下可能不便。为了满足离线环境下...

    JS,CSS代码格式化工具

    JS代码格式化工具是用来自动化整理JavaScript代码的工具,它们能够按照预设的代码风格将混乱的源码整理得井井有条。这些工具通常支持多种格式规范,例如Airbnb、Google或Prettier等。通过选择合适的规范,开发者可以...

    JS 日期格式化

    JS 日期格式化和加减,适用于将日期格式转化为yyyy-MM-DD HH:mm:ss格式,以及日期的加减

    javascript格式化和压缩工具

    JavaScript是一种广泛应用于网页和网络应用的编程语言,其代码量往往较大,为了提高网页加载速度和减少网络传输的数据量,我们需要对JavaScript代码进行格式化和压缩。本文将深入探讨JavaScript格式化和压缩工具,...

    EditPlus代码格式化

    3. **JavaScript代码格式化**:对于JavaScript代码,EditPlus可以智能地识别函数、变量、条件语句等,并按标准格式重新排列,使得JS代码结构清晰,便于理解和调试。 4. **代码高亮**:除了格式化,EditPlus还支持...

    Java格式化Xml文件

    因此,Java中提供了一些工具和方法来格式化XML文件,使其更易于理解和处理。本文将深入探讨如何使用Java来格式化XML文件。 首先,我们需要了解Java中处理XML的基本库——`javax.xml.transform`和`javax.xml.parsers...

    js/css/html进行格式化

    对于JavaScript,一个常用的格式化工具是`JSFormat`,它可以帮助我们将手写的、格式不统一的代码转换为规范的格式。`jsformat.html`可能是一个介绍如何使用JSFormat的网页文档,通常会包含如何安装、配置以及使用该...

    支持SQL语句高亮、json格式化、js格式化和css格式化的EditPlus

    作为一个专业的文本编辑工具,它提供了一系列对开发者极其有用的特性,包括SQL语句高亮、JSON格式化、JavaScript格式化以及CSS格式化。 **SQL语句高亮** SQL是结构化查询语言,用于管理关系数据库。在EditPlus中,...

    editplus 格式化 Unicode,js,css,json

    JavaScript是前端开发的核心语言,EditPlus提供了JavaScript代码格式化工具,如`jsFormatter.js`。这个功能可以帮助开发者将混乱的JS代码重新排列,使其更符合代码规范,提高代码可读性。它可以调整缩进、换行、括号...

    js格式化好工具 ext辅助能手

    【标题】"js格式化好工具 ext辅助能手"指的是在JavaScript编程中,为了提高代码可读性和维护性,使用特定工具进行代码格式化的实践。这类工具能够自动将混乱无序的JavaScript代码调整为标准、易读的格式,极大地提升...

    javascript&html格式化工具

    - **JSFormat**:VSCode插件,专门针对JavaScript的格式化。 - **HTML Tidy**:一款历史悠久的HTML格式化和校正工具,支持多种编程语言和平台。 使用这些工具可以显著提升开发效率,减少因格式问题引发的错误,并...

    json字符串格式化工具

    JsonView是一款常用的JSON格式化工具,它通常作为浏览器插件存在,例如在Chrome或Firefox中。使用JsonView,你可以快速地查看HTTP请求或响应中的JSON数据,而无需手动格式化。以下是JsonView的一些关键特性: 1. **...

    editplus格式化工具

    **EditPlus格式化工具详解** EditPlus是一款强大的文本编辑器,尤其受到程序员和网页设计师的青睐。它不仅支持多种编程语言,还拥有丰富的代码编辑功能,包括语法高亮、自动完成、代码折叠等。其中,格式化工具是...

    格式化写入文件程序

    二、常用编程语言的格式化写入方法 1. Python: Python提供了`print()`函数和`format()`方法进行格式化输出。例如,使用`print()`的`sep`和`end`参数控制间隔和行结束符,使用`format()`方法通过占位符{}和对应的...

Global site tag (gtag.js) - Google Analytics