比較簡單,記錄下
<input type="text" onkeyup="onlyNumber(this);"/> function onlyNumber(obj){ //得到第一個字符是否為負號 var t = obj.value.charAt(0); //先把非數字的都替換掉,除了數字和. obj.value = obj.value.replace(/[^\d\.]/g,''); //必須保證第一個為數字而不是. obj.value = obj.value.replace(/^\./g,''); //保證只有出現一個.而沒有多個. obj.value = obj.value.replace(/\.{2,}/g,'.'); //保證.只出現一次,而不能出現兩次以上 obj.value = obj.value.replace('.','$#$').replace(/\./g,'').replace('$#$','.'); //如果第一位是負號,則允許添加 if(t == '-'){ obj.value = '-'+obj.value; } };