易截截图软件、单文件、免安装、纯绿色、仅160KB

Javascript 数字逗号分隔

今天看到一段神得一塌糊涂的Javascript代码
(13223342.9269).toFixed(2)=13223342.93;
(13223342.9269).toLocaleString()=13,223,342.93;
formatNum(13223342.9269)=13,223,342.9269;
delFormat(13,223,342.9269)=13223342.9269;
//去掉逗号
function delFormat(str){
  return str.replace(/,/g,"");
 }
  
不得不承认Javascript的数学函数太弱了,四舍五入连个能设置小数位数的函数都没有,囧。只能自己往Number对象里填prototype。
最近遇到一个给数字加逗号的问题,类似将1000000转换成1,000,000。网上搜了下,代码都很长。也很凌乱,几乎是用足了replace,直到我遇到了下面这段代码。感叹,原来核心写的优美可以如此震撼人心。
原版是这样的
function formatNum(num)
{   
 if(!/^(\+|-)?(\d+)(\.\d+)?$/.test(num)){alert("wrong!"); 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;
}
这是一个函数,我把它改了一下,填入prototype,方便自己开发。
Number.prototype.format = function(){ //给javascript里所有的数字添加一个原型函数,叫format()
    if(!/^(\+|-)?(\d+)(\.\d+)?$/.test(this)) { //用正则表达式给使用该函数的数字做测试,如果不符合[正负(可有可无)]、[数字(重复一次以上)]、[小数点(可有可无)、数字(可有可无)]的形式。
        return NaN; //返回Not A Number,终止。
    }
    var a = RegExp.$1, b = RegExp.$2, c = RegExp.$3; //否则将刚正则表达式里的[]里三部分放入a b c三个变量中
    var re = new RegExp(); //定义一个新的正则表达式变量re
    re.compile("(\\d)(\\d{3})(,|$)"); //给re内部编译[一个数字]、[三个数字]、[,或者结束]的正则表达式,这里我给改了下,原版在re = new RegExp()后面直接跟.compile的写法Google Chrome的V8引擎认不出,Firefox和破IE倒都正常,所以分开写了。这个问题查了一晚上才查出来 - -#,该死,世界上为啥要有那么多浏览器,真是夭折阳寿啊
    while(re.test(b))


相关文档:

JavaScript 获取对象的高度和宽度详细说明

scrollHeight: 获取对象的滚动高度。
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离
scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
scrollWidth:获取对象的滚动宽度
offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度
offsetL ......

Javascript 密码强度设置 脚本

/**
 * 6 级强度设置(数字、大写字母、小写字母、特殊字符、长度>=6、长度>=10)
 * 如果密码为空,返回 0
 */
function __pwdStrength(pwd) {
    var sum = [0, 0, 0, 0];
    for (var i=0; i<pwd.length; i++) {
      & ......

JavaScript实现网页的放大缩小以及拖动功能

项目中遇到一种情况,开发的页面绘制出来的图片或者底图都比较大,超过屏幕大小许多。为了改善使用体验,需要给这类页面添加放大、缩小以及平移的功能。经过一番搜索和尝试,实现了有关功能,备忘如下。
JavaScript:
var zoomRate = 20;//每次放缩比例增量
var maxRate = 300;//最大放大倍数
var minRate = 20;//最小 ......

Zakas解答Baranovskiy的JavaScript小测试

转载自:http://hikejun.com/blog/?p=536
Zakas 1/22在twitter上分享了Baranovskiy的一篇文章“So, you think you know JavaScript?
”(你认为你够了解javascript吗)标题很叫板。结果5小段代码做的稀里哗啦。
今天Zakas专门撰文解答了这几道题(http://www.nczonline.net/blog/2010/01/26/answering-baranov ......

document 文挡对象 JavaScript脚本语言描述

document 文挡对象 - JavaScript脚本语言描述
---------------------------------------------------------------------
注:页面上元素name属性和JavaScript引用的名称必须一致包括大小写
    否则会提示你一个错误信息 "引用的元素为空或者不是对象"
------------------------------------------- ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号