猿问

请问该如何让textbox只能输入小数,例如0到1的数字?

使用的是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

www说
浏览 326回答 2
2回答

人到中年有点甜

第一种:<!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>

慕运维8079593

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>控制下键盘就可以了
随时随地看视频慕课网APP
我要回答