1.ajax请求前后置按钮无效、有效
function disableAllButtons(){
var btns = document.getElementsByTagName("button");
for(var i=0;i<btns.length;i++){
btns[i].disabled = true;
}
}
function enableAllButtons(){
var btns = document.getElementsByTagName("button");
for(var i=0;i<btns.length;i++){
btns[i].disabled = "";
}
}
2.判断变量、对象是否为空
function isEmptyVariable(obj){
if(obj == undefined || obj == 'undefined' || obj == null || obj == "null" || obj == ""){
return true;
}
return false;
}
function isEmptyObject(obj){
if(obj == undefined || obj == null ){return true;}
for(var n in obj){ return false; }
return true;
}
3.保留两位有效数字
function accAdd(num1,num2){
var r1,r2,m;
try{
r1 = num1.toString().split('.')[1].length;
}catch(e){
r1 = 0;
}
try{
r2=num2.toString().split(".")[1].length;
}catch(e){
r2=0;
}
m=Math.pow(10,Math.max(r1,r2));
return Math.round(num1*m+num2*m)/m;
}
function processNumberWithValidBits(number, bits){
var arr = number.toString().split(".");
if(arr == undefined || arr.length != 2){
return number;
}
var tempStr = arr[1];
var newStr = [];
var count = 0;
var delta = 0;
for(var i=0; i<tempStr.length && count<bits; i++){
if(tempStr[i] != 0 || count > 0){
count++;
}
if(count == bits && i<tempStr.length-1){
if(parseInt(tempStr[i+1]) >= 5){
newStr.push(parseInt(tempStr[i]));
delta += Math.pow(0.1,(i+1)).toFixed(i+1);
continue;
}
}
newStr.push(tempStr[i]);
}
var newNumberStr = arr[0];
if(newStr.length>0){
newNumberStr = arr[0] + '.' + newStr.join("");
}
console.log("newNumberStr: " + parseFloat(newNumberStr) + "; delta: " + parseFloat(delta));
return accAdd(parseFloat(newNumberStr),delta);
}
4.整数每三位用逗号分割显示
function format_number(n){
n = processNumberWithValidBits(n, 2);
console.log("processNumberWithValidBits n: " + n);
var arr = n.toString().split(".");
var integerPart = parseInt(n).toString();
var decimalPart = "";
if(arr != undefined && arr.length == 2){
integerPart = arr[0];
decimalPart = arr[1];
}
var b=integerPart;
var len=b.length;
var result = b;
if(len>3){
var r=len%3;
result = r>0?b.slice(0,r)+","+b.slice(r,len).match(/\d{3}/g).join(","):b.slice(r,len).match(/\d{3}/g).join(",");
}
if(decimalPart != ""){
result += '.' + decimalPart;
}
return result;
}
5.日期格式化
Date.prototype.format = function(){
var y = this.getFullYear();
var m = this.getMonth()+1;
var d = this.getDate();
var hh = this.getHours();
var mm = this.getMinutes();
var ss = this.getSeconds();
function formatNumber(value){
if(value < 10){
value = '0' + value;
}
return value;
}
return y + '-'+ formatNumber(m) + '-'+ formatNumber(d);
}
Date.prototype.format = function(format) {
var date = {
"M+": this.getMonth() + 1,
"d+": this.getDate(),
"h+": this.getHours(),
"m+": this.getMinutes(),
"s+": this.getSeconds(),
"q+": Math.floor((this.getMonth() + 3) / 3),
"S+": this.getMilliseconds()
};
if (/(y+)/i.test(format)) {
format = format.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length));
}
for (var k in date) {
if (new RegExp("(" + k + ")").test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length == 1
? date[k] : ("00" + date[k]).substr(("" + date[k]).length));
}
}
return format;
};
6.查找数组元素indexOf
if(!Array.prototype.indexOf) {
Array.prototype.indexOf = function (value) {
for (var i = 0; i < this.length; i++) {
if (this[i].id == value) return i;
}
return -1;
};
}
7.字符串去掉前后空格
if(!String.prototype.trim) {
String.prototype.trim = function () {
if (this != undefined) {
return this.replace(/(^\s*)|(\s*$)/g, '');
} else {
return "";
}
};
}