最近碰到這樣的問題,需要控制文字框中輸入指定格式的數字,今天和大家分享其中一種方法。
效果:僅能輸入0-100以內的一位小數,輸入有誤將提示並清空輸入框。
一、利用滑鼠移除事件,正則校驗進行控制,方法如下:
<input type="text" id="num" onblur=" var reg = /^(((\d|[1-9]\d)(\.\d{1,1})?)|100|100.0|100.0)$/;var f = reg.test(this.value);if(!f){alert('您輸入的數字不合法');this.value='';return;}"/>
二、為了增強可讀性,可寫成如下格式:
<input type="text" id="num" onblur="validateNum(this.value)"/>
function validateNum(value){
var reg = /^(((\d|[1-9]\d)(\.\d{1,1})?)|100|100.0|100.0)$/;
var f = reg.test(value);
if ( !f ){
alert('您輸入的數字不合法');
document.getElementById("num").value="";
return;
}
}