js限制input只能輸入有效的數(shù)字(第一個(gè)不能是小數(shù)點(diǎn))
第一種方法:通過字符搜索判斷等實(shí)現(xiàn),適合功能增強(qiáng)
<!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() {
//敲擊按鍵時(shí)觸發(fā)
$("#Score").bind("keypress", function(event) {
var event= event || window.event;
var getValue = $(this).val();
//控制第一個(gè)不能輸入小數(shù)點(diǎn)"."
if (getValue.length == 0 && event.which == 46) {
alert(1)
event.preventDefault();
return;
}
//控制只能輸入一個(gè)小數(shù)點(diǎn)"."
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;
}
})
//失去焦點(diǎn)是觸發(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>
方法二 通過大量正則來實(shí)現(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,"."); //只保留第一個(gè). 清除多余的
obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');//只能輸入兩個(gè)小數(shù)
if(obj.value.indexOf(".")< 0 && obj.value !=""){//以上已經(jīng)過濾,此處控制的是如果沒有小數(shù)點(diǎn),首位不能為類似于 01、02的金額
obj.value= parseFloat(obj.value);
}
}
</script>
個(gè)人推薦使用第二個(gè),第一個(gè)方便更多的功能控制
之前腳本之家也發(fā)布過相關(guān)文章,大家可以查看相關(guān)文章
- JS控制只能輸入數(shù)字并且最多允許小數(shù)點(diǎn)兩位
- js取小數(shù)點(diǎn)后兩位四種方法
- Angularjs中的驗(yàn)證input輸入框只能輸入數(shù)字和小數(shù)點(diǎn)的寫法(推薦)
- javascript 取小數(shù)點(diǎn)后幾位幾種方法總結(jié)
- JS取數(shù)字小數(shù)點(diǎn)后兩位或n位的簡單方法
- JS驗(yàn)證 只能輸入小數(shù)點(diǎn),數(shù)字,負(fù)數(shù)的實(shí)現(xiàn)方法
- 文本框只能輸入數(shù)字的js代碼(含小數(shù)點(diǎn))
- Javascript將數(shù)值轉(zhuǎn)換為金額格式(分隔千分位和自動增加小數(shù)點(diǎn))
- JavaScript 如何刪除小數(shù)點(diǎn)后的數(shù)字
相關(guān)文章
Javascript實(shí)現(xiàn)快速排序(Quicksort)的算法詳解
排序算法(Sorting algorithm)是計(jì)算機(jī)科學(xué)最古老、最基本的課題之一,要想成為合格的程序員,就必須理解和掌握各種排序算法。2015-09-09
如何用RxJS實(shí)現(xiàn)Redux Form
這篇文章主要介紹了如何用RxJS實(shí)現(xiàn)Redux Form,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-12-12
javascript解析json數(shù)據(jù)的3種方式
這篇文章主要介紹了解析json數(shù)據(jù)的3種方式,需要的朋友可以參考下2014-05-05
JS中判斷某個(gè)字符串是否包含另一個(gè)字符串的五種方法
本文給大家?guī)鞪S中判斷某個(gè)字符串是否包含另一個(gè)字符串的五種方法,有string對象的方法,match() 方法,RegExp對象的方法,test() 方法,exec() 方法,具體內(nèi)容詳情大家參考下本文2018-05-05
JavaScript實(shí)現(xiàn)三級聯(lián)動菜單實(shí)例代碼
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)三級聯(lián)動菜單實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
JavaScript中使用replace結(jié)合正則實(shí)現(xiàn)replaceAll的效果
JavaScript?中使用?replace?達(dá)到?replaceAll的效果,其實(shí)就用利用的正則的全局替換。2010-06-06

