代码修改高手请进,几个月都没有解决的问题,巨郁闷(关于输入限制的javascript)
代码修改高手请进,几个月都没有解决的问题,巨郁闷(关于输入限制的javascript)
[javascript]:怎么在文本框中只能输入“***.**”的格式的数字。(数字输入到小数点后两位就不能往下输入了)。
环境:有一个form下的文本框,要输入数字。
要求:需要数字只能输入数字和点号(小数点的情况),输入其他字符是录入不了的,(这个可以实现了)
但现在我要在输入小数点后2位后就不能再输入了,如“45.34”的后面就不能再输入了,但可以输入“45.3”
这个怎么做呀,那位大虾知道,告诉小弟一声“——)
下面是我目前的代码,请大家改改,成为现在我想要的那种效果。
<input type="text" name="textfield2" onkeypress="return event.keyCode>=48&&event.keyCode<=57||event.keyCode==46"
onpaste="return !clipboardData.getData('text').match(/\D/)"
ondragenter="return false"
style="ime-mode:Disabled">
问题点数:0、回复次数:4Top
1 楼love_tonight(orc)回复于 2004-09-03 11:03:01 得分 0
怪不得你性欲(输错,信誉)这么低……
http://community.csdn.net/Expert/topic/3333/3333481.xml?temp=.5832636
已经给你答案了,真是的,有问题再说吧Top
2 楼llhdf(塞外浪子)回复于 2004-09-03 11:42:08 得分 0
偶给你写了一个,其它的验证,需要你自己加上,但是绝对能实现你要的功能.
要是有问题,你在问我.绝对帮你解决.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script>
function test(str){
var pos;
var fst
var lst;
if (str == "") return;
pos = str.indexOf(".");
if (pos != -1){
fst = str.substring(0,pos);
lst = str.substring(pos+1,pos.length);
if (lst.length > 2){
var sub = lst.substring(0,2);
textfield2.value=fst+"."+sub;
}
}
}
</script>
</HEAD>
<BODY>
<input type="text" name="textfield2" onkeyup="test(this.value)"
onpaste="return !clipboardData.getData('text').match(/\D/)"
ondragenter="return false"
style="ime-mode:Disabled">
</BODY>
</HTML>
Top
3 楼lichengdongdong(东东)回复于 2004-09-03 12:52:54 得分 0
还是没有实现。
Top
4 楼love_tonight(orc)回复于 2004-09-03 16:38:53 得分 0
真是菜到家了
<script language="JavaScript">
function check()
{
var k = event.keyCode
var v = t.value
var hasdot = (v.indexOf(".")==-1)?false:true
var len = v.length
if (hasdot && v.indexOf(".")+3 == len && k!=8 && k!=36)
{
event.returnValue = false
return
}
if (event.shiftKey) event.returnValue = false
else if (len == 0)
{
if (k<48 && k!=8 && k!=36||k>57 && k<96 || k>105 && k!=109 && k!=189) event.returnValue = false
}
else if (len == 1)
{
if (v == "-")
{
if (k<48 && k!=8 && k!=36||k>57 && k<96 || k>105) event.returnValue = false
}
else if (v == "0")
{
if (k!= 8 && k!= 36 && k!=110 && k!=190) event.returnValue = false
}
else
{
if (k<48 && k!=8 && k!=36||k>57 && k<96 || k>105 && k!=110 && k!=190) event.returnValue = false
}
}
else if (v=="-0")
{
if (k<=48 && k!=8 && k!=36||k>57 && k<=96 || k>105 && k!=110 && k!=190) event.returnValue = false
}
else
{
if (k<48 && k!=8 && k!=36||k>57 && k<96 || k>105 && k!=110 && k!=190) event.returnValue = false
if (hasdot && (k==110 || k==190)) event.returnValue = false
}
}
</script>
<input type="text" id="t" onKeyDown="check()">Top




