jQuery:数字、字符串格式化扩展

分类:jQuery 发表时间:2010年09月20日 字体大小:12号14号

前几天的项目中,遇到一个格式化金额的问题,便写了一个通用的jQuery扩展代码,记录下来以便以后再用。同时分享给大家,有需要的随便用。

若有高手觉得写得有效率问题的也可以提出来,学习学习,研究研究。

除了数字外,字符串也可以格式化的,毕竟实现起来原理差不多嘛!可以自定义分隔符、分割长度,最终返回的格式化后的字符串。

一、jQuery扩展代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
;(function($) {
	$.extend({
		format : function(str, step, splitor) {
			str = str.toString();
			var len = str.length;
 
			if(len > step) {
				 var l1 = len%step, 
					 l2 = parseInt(len/step),
					 arr = [],
					 first = str.substr(0, l1);
				 if(first != '') {
					 arr.push(first);
				 };
				 for(var i=0; i<l2 ; i++) {
					 arr.push(str.substr(l1 + i*step, step));									 
				 };
				 str = arr.join(splitor);
			 };
			 return str;
		}
	});
})(jQuery);

二、调用方法

1
2
3
4
jQuery(function() {
	console.log($.format(2000000010, 3, ','));		//result:	2,000,000,010
	console.log($.format('abcdefghijklmnopqrstuvwxyz', 6, '-'));	//result:	ab-cdefgh-ijklmn-opqrst-uvwxyz
});

不错不错,已经有 个评论!
  1. 代码也不是很多!还好!

  2. 恩 代码很精简……

  3. 这才叫精简

    (function() {
    $.extend( {
    format: function(h, a, j) {
    h = h.toString();
    var g = h.length;
    if (g > a) {
    var c = g % a,
    b = parseInt(g / a),
    f = [],
    e = h.substr(0, c);
    if (e != “”) {
    f.push(e)
    }
    for (var d = 0; d < b; d ++ ) {
    f.push(h.substr(c + d * a, a))
    }
    h = f.join(j)
    }
    return h
    }
    })
    })
    (jQuery);

    • 兄弟,你有意思吧!要压缩也有压缩软件,比你压缩的好多了。
      你a, b, c, e, f, g就是精简啊!

    • 无聊的人,这里不欢迎你!!

  4. 欢迎任何形式的js技术交往!

  5. 就想学习这个来着 有现成的呢

  6. 围观一下哎

  7. 皓月闪烁,星光闪耀,中秋佳节,美满时刻!祝你全家幸福~快乐

  8. 真是高手哦。
    我只能是看看热闹了。

  9. 代码越简练越好

  10. 还好,代码不是很多,呵呵

  11. | 借博主宝地!祝博主人气越来越旺|

  12. 收藏下了 在留个大脚印

  13. 不做 记下 支持一下

  14. 好久没来了,今天冒个泡,顺祝国庆快乐。

  15. jQuery还可以这样用,牛

  16. …好吧,我承认我做网站很行,但是www.ihiro.org确实是比我的行,这种佩服可不是违心的…

    • 呵呵,谢谢!多来逛逛。。。

  17. 路过留下脚印,以后常来

  18. 有用没用,顶一个,慢慢品先

  19. 来了就要踩一下,呵呵,做人要厚道

  20. 代码我是一窍不通,我只知道写好的文章,预祝朋友重阳节愉快

  21. 多谢分享 http://www.wyfanli.com

  22. 目前不懂
    仔细学习一下

  23. 路过留下脚印,以后常来

  24. 围观下,学习学习

  25. 哦!有些还看不懂的 回去查查

  26. 分析的很好啊 加油

  27. 很不错的博客 支持

  28. 这篇文章都有权重了,说明这文章不错~~~ 谢谢了,学习下