第一種方法
<input type="text" class="bet-text" id="betText" value="0"
onkeydown="if(isNaN(value))execCommand('undo')"
onkeyup="if(isNaN(value))execCommand('undo')"
onafterpaste="if(isNaN(value))execCommand('undo')"/>
注:
onkeydown:按下時觸發(fā),防止長時間保持按下動作,一個非數(shù)字字符打印多個住诸;
onkeyup:按鍵抬起時觸發(fā)诲祸,防止按下打印一個非數(shù)字字符;
onafterpaste:粘貼時觸發(fā);
第二種方法
<label>
<input id="tranlimit_buyPrice" type="text" onkeyup="clearNoNum(this)" autocomplete="off"/>
<span id="tranLimit_buyAmount_inputCoin"></span>
</label>
function clearNoNum(obj) {
obj.value = obj.value.replace(/[^\d.]/g, ""); //清除"數(shù)字"和"."以外的字符
obj.value = obj.value.replace(/^\./g, ""); //驗證第一個字符是數(shù)字而不是
obj.value = obj.value.replace(/\.{2,}/g, "."); //只保留第一個. 清除多余的
obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d{6}).*$/, '$1$2.$3'); //只能輸入6個小數(shù)
}