js限制input只能輸入有效的數(shù)字(第一個不能是小數(shù)點)
更新時間:2018年09月28日 16:15:44 投稿:mdxy-dxy
有時候我們需要限制input只能輸入有效的數(shù)字,有且只有一個小數(shù)點,第一個不能為小數(shù)點,那么就可以參考下面的函數(shù)來實現(xiàn)
第一種方法:通過字符搜索判斷等實現(xiàn),適合功能增強
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="js/jq.js"></script>
</head>
<body>
<input type="text" id="Score" />
<script type="text/javascript">
$(document).ready(function() {
//敲擊按鍵時觸發(fā)
$("#Score").bind("keypress", function(event) {
var event= event || window.event;
var getValue = $(this).val();
//控制第一個不能輸入小數(shù)點"."
if (getValue.length == 0 && event.which == 46) {
alert(1)
event.preventDefault();
return;
}
//控制只能輸入一個小數(shù)點"."
if (getValue.indexOf('.') != -1 && event.which == 46) {
event.preventDefault();
alert(1)
return;
}
//控制只能輸入的值
if (event.which && (event.which < 48 || event.which > 57) && event.which != 8 && event.which != 46) {
event.preventDefault();
return;
}
})
//失去焦點是觸發(fā)
$("#Score").bind("blur", function(event) {
var value = $(this).val(), reg = /\.$/;
if (reg.test(value)) {
value = value.replace(reg, "");
$(this).val(value);
}
})
});
</script>
</body>
</html>
方法二 通過大量正則來實現(xiàn),簡單粗暴
<input type="text" name="je" onkeyup="clearNoNum(this)" />元
<script language="JavaScript" type="text/javascript">
function clearNoNum(obj){
obj.value = obj.value.replace(/[^\d.]/g,""); //清除“數(shù)字”和“.”以外的字符
obj.value = obj.value.replace(/\.{2,}/g,"."); //只保留第一個. 清除多余的
obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');//只能輸入兩個小數(shù)
if(obj.value.indexOf(".")< 0 && obj.value !=""){//以上已經(jīng)過濾,此處控制的是如果沒有小數(shù)點,首位不能為類似于 01、02的金額
obj.value= parseFloat(obj.value);
}
}
</script>
個人推薦使用第二個,第一個方便更多的功能控制
之前腳本之家也發(fā)布過相關(guān)文章,大家可以查看相關(guān)文章
您可能感興趣的文章:
- JS控制只能輸入數(shù)字并且最多允許小數(shù)點兩位
- js取小數(shù)點后兩位四種方法
- Angularjs中的驗證input輸入框只能輸入數(shù)字和小數(shù)點的寫法(推薦)
- javascript 取小數(shù)點后幾位幾種方法總結(jié)
- JS取數(shù)字小數(shù)點后兩位或n位的簡單方法
- JS驗證 只能輸入小數(shù)點,數(shù)字,負(fù)數(shù)的實現(xiàn)方法
- 文本框只能輸入數(shù)字的js代碼(含小數(shù)點)
- Javascript將數(shù)值轉(zhuǎn)換為金額格式(分隔千分位和自動增加小數(shù)點)
- JavaScript 如何刪除小數(shù)點后的數(shù)字
相關(guān)文章
Javascript實現(xiàn)快速排序(Quicksort)的算法詳解
排序算法(Sorting algorithm)是計算機科學(xué)最古老、最基本的課題之一,要想成為合格的程序員,就必須理解和掌握各種排序算法。2015-09-09
javascript解析json數(shù)據(jù)的3種方式
這篇文章主要介紹了解析json數(shù)據(jù)的3種方式,需要的朋友可以參考下2014-05-05
JavaScript實現(xiàn)三級聯(lián)動菜單實例代碼
這篇文章主要為大家詳細(xì)介紹了JavaScript實現(xiàn)三級聯(lián)動菜單實例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06
JavaScript中使用replace結(jié)合正則實現(xiàn)replaceAll的效果
JavaScript?中使用?replace?達(dá)到?replaceAll的效果,其實就用利用的正則的全局替換。2010-06-06

