JavaScript常用方法

1. 将数值四舍五入(保留2位小数)后格式化成金额形式

/**
* 将数值四舍五入(保留2位小数)后格式化成金额形式
*
* @param num 数值(Number或者String)
* @return 金额格式的字符串,如'1,234,567.45'
* @type String
*/
function formatCurrency(num) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + num + '.' + cents);
}

2. 金额转大写

//金额转大写
var digitUppercase = function (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(/^整$/, '零元整');
};

3. 计算文件大小

// 计算文件大小函数(保留两位小数),Size为字节大小
// size:初始文件大小
function getfilesize(size) {
if (!size)
return "";
var num = 1024.00; //byte

if (size < num)
return size + "B";
if (size < Math.pow(num, 2))
return (size / num).toFixed(2) + "K"; //kb
if (size < Math.pow(num, 3))
return (size / Math.pow(num, 2)).toFixed(2) + "M"; //M
if (size < Math.pow(num, 4))
return (size / Math.pow(num, 3)).toFixed(2) + "G"; //G
return (size / Math.pow(num, 4)).toFixed(2) + "T"; //T
}

4. 获取输入框选中值

<body>
<input type="text" id="dxs" name="name" />
<input type="button" value="获取" onclick="getSelectedText()">
<script>
function getSelectedText(){
var inputDom = document.getElementById("dxs");
if (document.selection) //IE
{
alert(document.selection.createRange().text);
}
else {
alert(inputDom.value.substring(inputDom.selectionStart,
inputDom.selectionEnd));
}
}
</script>
</body>

5. 判断对象是不是数组

function isArray(source) {
return '[object Array]' == Object.prototype.toString.call(source);
};

6. 获取url根路径

//例如  http://12.3.4.5/joey/
function getRootPath() {
var strFullPath = window.document.location.href;
var strPath = window.document.location.pathname;
var pos = strFullPath.indexOf(strPath);
var prePath = strFullPath.substring(0, pos);
var postPath = strPath.substring(0, strPath.substr(1).indexOf('/') + 1);
return (prePath + postPath);
}

7. 获取url指定参数

//strParame为参数名称,url为地址
function request(strParame, url) {
var args = new Object();
var query = "";
if (!url)
query = unescape(location.search.substring(1)); // Get query string
else {
var index = url.indexOf("?");
query = url.substring(index + 1);
}
var pairs = query.split("&"); // Break at ampersand
for (var i = 0; i < pairs.length; i++) {
var pos = pairs[i].indexOf('='); // Look for "name=value"
if (pos == -1) continue; // If not found, skip
var argname = pairs[i].substring(0, pos); // Extract the name
var value = pairs[i].substring(pos + 1); // Extract the value
try {
value = decodeURIComponent(value); // Decode it, if needed
}
catch (e) { }
args[argname] = value; // Store as a property
}
return args[strParame]; // Return the object
}

8. 创建GUID

//补了零的标准的guid格式(当然多了个“guid_”前缀,以及使用“_”代替“-”)。
function CreateGUID() {
function s4() {
return Math.floor((1 + Math.random()) * 0x10000)
.toString(16)
.substring(1);
}
return s4() + s4() + '-' + s4() + '-' + s4() + '-' +
s4() + '-' + s4() + s4() + s4();
}

9. 判断一个值是否为空

function IsEmpty(value) {
if (value == undefined) return true;
if (value == null) return true;
if (value == "") return true;
if (value == "00000000-0000-0000-0000-000000000000") return true;
return false;
}

10. 设置cookie

function setCookie(name, value) {
var Days = 300; //此 cookie 将被保存 30 天
var exp = new Date(); //new Date("December 31, 9998");
exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
}

11. 获取cookie

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

12. 删除cookie

function delCookie(name) {
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval = getCookie(name);
if (cval != null)
document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
}

13. 对象数组去重

//对connects进行去重,el.pageSourceId == element.pageSourceId是去重条件
var connects = connects.reduce(function (prev, element) {
if (!prev.find(el=>(el.pageSourceId == element.pageSourceId))) {
prev.push(element)
}
return prev
}, []);