人到中年有点甜
第一种:<!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>