type="text"
onkeypress="if(!this.value.match(/^[\+\-]?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+)?$/))this.o_value=this.value"
onkeyup="if(!this.value.match(/^[\+\-]?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+)?$/))this.o_value=this.value"
onblur="if(isNaN(value))this.value='';else this.value=value.replace(/\b(0+)/gi,'')"/>
else if(this.value!=''){
if(this.value.indexOf('.')==-1)value=value+'.00000';
var str_before = value.split('.')[0];
if(str_before=='')str_before=0;
str_before = Math.round(str_before);
var str_after = value.split('.')[1]+'00000';
if(str_after=='')str_after='00000';
str2 = str_after.charAt(4);
if(str2>4 && str_after.slice(0,4)<9999)
this.value=(str_before+'.'+(Math.round(str_after.slice(0,4))+1));
if(str2>4 && str_after.slice(0,4)==9999)
this.value=((Math.round(str_before)+1)+'.0000');
if(str2<5)
this.value=(str_before+'.'+str_after.slice(0,4));
if(this.value.split('.')[0].length>11){
layer.msg('長度超過數據存儲上限!');
this.value='';
}
} "
1)數據進來,首先確保是數字,如果因為輸入法等原因進來的不是數字,則需要通過 onblur進行校驗,如果不是數字,清空 2)toFixed是個好方法,可以進行數據的小數位數控制,但並不是單純的截取(toFixed之后的數據減去一個同長度的值就可以看的出來) 3)toFixed對於尾數是5的處理無法精准處理,需要特殊加工,進行場景分類歸納處理
js中的數據類型及其轉換
Js中的數據類型
Js中的數據類型一共有六種,即number,string,boolean,underfine,null,object。
一,number
Number數據類型指的是數字,可以為整型,也可以是浮點數。如
var a=12,b=12.5;
|
二,string
字符串由零個或多個字符構成,字符包括字母,數字,標點符號和空格;需要注意的是
字符串必須放在引號里(單引號或雙引號);
如
var bob=”man”;
alert(“bob”);
alert(bob); |
瀏覽器首先會彈出包含有“bob”的字符串,然后彈出包含有“man”的字符串,前者是直接彈出字符串,后者則是彈出變量的值。
三,boolean
布爾型數據只能有兩種值 true 和 false,在js中true和false是關鍵字。通常,我們設置布爾值時多用於條件的判斷。如:
var flag=true;
if(flag){
//js 代碼
} |
在條件判斷語句中我們將所有的判斷條件看做一個布爾值(這里需要了解一些布爾值的轉換特性)。
四,underfine
underfine通常指的是沒有賦值的變量,通過typeof可以對數據的類型進行判斷。如
var a,b=underfine;
alert(a);
alert(typeof a); |
兩次結果都為underfine。
五,null
null是一個只有一個值的特殊類型。表示一個空對象引用。如:
var a=null;
將a清空。
六,object
對象就是由一些彼此相關的屬性和方法集合在一起而構成的一個數據實體。常見的對象有array,window,document等。
例:
var today = new Date();
var year = today.getFullYear();
var month = today.getMonth() + 1;
var day = today.getDay(); |
通過創建對象實例就可以調用對象的方法了,如上就是創建了一個Date的對象實例today,today通過調用Date的方法得出了現在的年月日等信息。
數組array是作為經常使用的對象,是由多個 (鍵-值) 所組成的一個多容器。其索引 默認是從0開始的。創建數組有兩種方法:1創建數組對象實例 var arr=newArray(1,2,3);2直接使用面向字面量 var a=[1,2,3];
例
<script type="text/javascript">
var date=new Date();
var day=date.getDay();
var weekly=["星期天","星期一","星期二","星期三","星期四","星期五","星期六"]
document.write("today is "+weekly[day]+"<br>");
</script> |
結果將輸出今天是禮拜幾。
數據類型的查看與轉換
在js中我們經常需要知道某些變量的數據類型,並將其轉換為我們所需要的數據類型。
通常,我們判斷變量的數據類型會用到標識符typeof,如:
var mood = "happy";
alert(typeof mood);
alert(typeof 95); |
通過標識符,我們可以很快獲取數據的類型;
數據的轉換中,我們經常用到的是將變量轉換成字符串或數字。
轉換成字符串要使用toString(),例
var married = false;
alert(married.toString());
|
轉換成數字時,有兩種方法,parseInt() 轉換成整數,parseFloat()轉換成浮點數。
例:
|
var test = parseInt(“blue”); //returns NaN
var test = parseInt(“1234blue”); //returns 1234
var test = parseInt(“22.5”); //returns 22
var test = parseFloat(“1234blue”); //returns 1234
var test = parseFloat(“22.5”); //returns 22.5 |