亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問該如何讓textbox只能輸入小數,例如0到1的數字?

請問該如何讓textbox只能輸入小數,例如0到1的數字?

C# C
www說 2022-06-02 07:07:35
使用的是standard控件,不是html的控件這個textbox是要連接后臺的我想叫這個textbox只能輸入小數,輸入其他的就寫不進去有一種方法是只能輸入數字的,只需要在前臺判斷就ok了:<asp:textbox id="TextBox1" onkeyup="if(isNaN(value))execCommand('undo')" runat="server"Width="80px" onafterpaste="if(isNaN(value))execCommand('undo')"></asp:textbox>很好用,有沒有人知道這種方法來判斷小數的?請把代碼寫的清楚全面些謝謝了~~~~~~補充一下 是只能輸入0到1的數字~!這個數大于等于0小于等于1
查看完整描述

2 回答

?
人到中年有點甜

TA貢獻1895條經驗 獲得超7個贊

第一種:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
function testA(e){
var testValue =document.getElementById(e.id);
testValue.value =testValue.value.replace(/[^\d\.]/g,'');
if(testValue.value.indexOf(".")>-1 ){
//防止連續輸入2次與2次出現小數點號.
if(testValue.value.substring(testValue.value.indexOf(".")+1,testValue.value.length).indexOf(".")>-1){
testValue.value = testValue.value.substring(0,testValue.value.lastIndexOf("."));
}
//只能輸入2位,將ponit設為3將只能輸入3位
var ponit= 2 ;
if(testValue.value.substring(testValue.value.indexOf(".")+1,testValue.value.length).length>=ponit){
testValue.value = ForDight( parseFloat(testValue.value),ponit);
}
}
//數字只能在0-1直接
if( parseFloat(testValue.value)>=1 || parseFloat(testValue.value)<0){
testValue.value = '0.00'
}
}
//ForDight(Dight,How):數值格式化函數,Dight要 * 格式化的 數字,How要保留的小數位數。
function ForDight(Dight,How){
var Dight = Math.round (Dight*Math.pow(10,How))/Math.pow(10,How);
return Dight;
}
//-->
</SCRIPT>
</HEAD>
<BODY>
這個是HTML的頁面 直接把相關JS放到 ASPX的設計頁面
<hr />
輸入框
<input id="testA" onkeyup="testA(this)"
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d\.]/g,''))"
>
<hr />
你最好 前臺判斷,提高用戶體驗;后臺也判斷吧,保證安全.
這個兼容不兼容我也沒測試。
</BODY>
</HTML>

第二種:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
function testA(e){
var testValue =document.getElementById(e.id);
var temp = testValue.value.replace(/[^\d\.]/g,'');
//如果要輸入3位 就匹配表達式改為 regE = /^\d*\.?\d{0,3}$/;
var regE = /^\d*\.?\d{0,2}$/;
var str='';
var i = 1;
while(i<=temp.length)
{
var gd;
gd = temp.substring(i,0);
if(regE.test(gd) == true)
{
str=gd;
}
i++;
}
testValue.value = str;
if(parseFloat( testValue.value) >=1 || parseFloat( testValue.value)<0){
testValue.value='0.00';
}
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<input id="testA" onkeyup="testA(this)" >
<input id="testB" onkeyup="testA(this)" >
</BODY>
<HTML>


查看完整回答
反對 回復 2022-06-06
?
慕運維8079593

TA貢獻1876條經驗 獲得超5個贊

TEXTBOX控件: <asp:TextBox ID="TextBox1" onkeydown=oncheckKey() runat="server"></asp:TextBox>
oncheckKey():是我自己定義的函數
<script language=javascript>
function oncheckKey()
{
if(window.event.keyCode!=255)
{

if(window.event.keyCode!="48"&window.event.keyCode!="49")
{
alert('不能輸入該值');
return;
}
}

}
</script>
控制下鍵盤就可以了


查看完整回答
反對 回復 2022-06-06
  • 2 回答
  • 0 關注
  • 275 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號