數值計算
//除法函數,用來得到精確的除法結果
function accDiv(arg1,arg2){
var t1=0,t2=0,r1,r2;
try{t1=arg1.toString().split(".")[1].length;}catch(e){}
try{t2=arg2.toString().split(".")[1].length;}catch(e){}
with(Math){
r1=Number(arg1.toString().replace(".",""));
r2=Number(arg2.toString().replace(".",""));
return (r1/r2)*pow(10,t2-t1);
}
}
//乘法函數,用來得到精確的乘法結果
function accMul(arg1,arg2)
{
var m=0,s1=arg1.toString(),s2=arg2.toString();
try{m+=s1.split(".")[1].length;}catch(e){}
try{m+=s2.split(".")[1].length;}catch(e){}
return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m);
}
//加法函數,用來得到精確的加法結果
function accAdd(arg1,arg2){
var r1,r2,m;
try{r1=arg1.toString().split(".")[1].length;}catch(e){r1=0;}
try{r2=arg2.toString().split(".")[1].length;}catch(e){r2=0;}
m=Math.pow(10,Math.max(r1,r2));
return (arg1*m+arg2*m)/m;
}
//減法函數
function accSub(arg1,arg2){
var r1,r2,m,n;
try{r1=arg1.toString().split(".")[1].length;}catch(e){r1=0;}
try{r2=arg2.toString().split(".")[1].length;}catch(e){r2=0;}
m=Math.pow(10,Math.max(r1,r2));
//last modify by deeka
//動態控制精度長度
n=(r1>=r2)?r1:r2;
return ((arg2*m-arg1*m)/m).toFixed(n);
}
字符串
function dataLength(fData){
var intLength=0;
for (var i=0;i<fData.length;i++){
if ((fData.charCodeAt(i) < 0) || (fData.charCodeAt(i) > 255))
intLength=intLength+2;
else
intLength=intLength+1;
}
return intLength;
}
一個Map
<pre class="javascript" name="code">function Map() {
this.elements = new Array();
//獲取MAP元素個數
this.size = function() {
return this.elements.length;
};
//判斷MAP是否爲空
this.isEmpty = function() {
return (this.elements.length < 1);
};
//刪除MAP所有元素
this.clear = function() {
this.elements = new Array();
};
//向MAP中增加元素(key, value)
this.put = function(_key, _value) {
for (i = 0; i < this.elements.length; i++) {
if (this.elements[i].key == _key) {
this.elements[i].value = _value;
return ;
}
}
this.elements.push( {
key : _key,
value : _value
});
};
//刪除指定KEY的元素,成功返回True,失敗返回False
this.remove = function(_key) {
var bln = false;
try {
for (i = 0; i < this.elements.length; i++) {
if (this.elements[i].key == _key) {
this.elements.splice(i, 1);
return true;
}
}
} catch (e) {
bln = false;
}
return bln;
};
//獲取指定KEY的元素值VALUE,失敗返回NULL
this.get = function(_key) {
try {
for (i = 0; i < this.elements.length; i++) {
if (this.elements[i].key == _key) {
return this.elements[i].value;
}
}
} catch (e) {
return null;
}
};
//獲取指定索引的元素(使用element.key,element.value獲取KEY和VALUE),失敗返回NULL
this.element = function(_index) {
if (_index < 0 || _index >= this.elements.length) {
return null;
}
return this.elements[_index];
};
//判斷MAP中是否含有指定KEY的元素
this.containsKey = function(_key) {
var bln = false;
try {
for (i = 0; i < this.elements.length; i++) {
if (this.elements[i].key == _key) {
bln = true;
}
}
} catch (e) {
bln = false;
}
return bln;
};
//判斷MAP中是否含有指定VALUE的元素
this.containsValue = function(_value) {
var bln = false;
try {
for (i = 0; i < this.elements.length; i++) {
if (this.elements[i].value == _value) {
bln = true;
}
}
} catch (e) {
bln = false;
}
return bln;
};
//獲取MAP中所有VALUE的數組(ARRAY)
this.values = function() {
var arr = new Array();
for (i = 0; i < this.elements.length; i++) {
arr.push(this.elements[i].value);
}
return arr;
};
//獲取MAP中所有KEY的數組(ARRAY)
this.keys = function() {
var arr = new Array();
for (i = 0; i < this.elements.length; i++) {
arr.push(this.elements[i].key);
}
return arr;
};
}
獲取服務器時間
function getServerSysTime(){
$.ajax({
type: 'HEAD', // 獲取頭信息,type=HEAD即可
url : window.location.href,
complete: function( xhr,data ){
// 獲取相關Http Response header
var wpoInfo = {
"date" : xhr.getResponseHeader('Date'),// 服務器端時間
"contentEncoding" : xhr.getResponseHeader('Content-Encoding'),// 服務器端時間
"connection" : xhr.getResponseHeader('Connection'),// keep-alive ? close?
"contentLength" : xhr.getResponseHeader('Content-Length'),// 響應長度
"server" : xhr.getResponseHeader('Server'),// 服務器類型,apache?lighttpd?
"vary" : xhr.getResponseHeader('Vary'),
"transferEncoding" : xhr.getResponseHeader('Transfer-Encoding'),
"contentType" : xhr.getResponseHeader('Content-Type'),// text/html ? text/xml?
"cacheControl" : xhr.getResponseHeader('Cache-Control'),
"exprires" : xhr.getResponseHeader('Exprires'), // 生命週期?
"lastModified" : xhr.getResponseHeader('Last-Modified')
};
// 對服務器時間格式化
var date = new Date(xhr.getResponseHeader('Date'));
var mon = date.getMonth();
mon=mon+1;
var day = date.getDate();
if(mon<10){
mon="0"+mon;
}else{
mon=""+mon;
}
if(day<10){
day="0"+day;
}else{
day=""+day;
}
alert( date.getFullYear()+'-'+mon+'-'+day+' '+date.toLocaleTimeString());
}
});
}
js調用下載
function download(filePath){
//filePath爲項目WebRoot下文件路徑 如 test/test.zip;
var url="<%=request.getContextPath()%>"+"/"+filePath;
try{
var elemIF = document.createElement("iframe");
elemIF.src = url;
elemIF.style.display = "none";
document.body.appendChild(elemIF);
}catch(e){
alert("失敗!");
}
}
正則表達式
價格:var reg = /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/;