如何用javascript检查text组件是否输入数字?(20分)

  • 主题发起人 主题发起人 hyc991
  • 开始时间 开始时间
H

hyc991

Unregistered / Unconfirmed
GUEST, unregistred user!
如何用javascript检查text组件是否输入数字?
 
function judgenum(code)
{
var charcode=(navigator.appName=="Netscape")?code.which:code.keyCode;
if(charcode>31 &&
charcode!=46 &&
(charcode<48 || charcode>57))
{
return false;
}
return true
}
<td >
<input type="text" name="contact_year" onKeyPress="return judgenum(event)" value=<%=contact_year%>>
</td>
 
function isInteger(input)
{
var inputStr=input.value.toString();
var i;
var oneChar;
for(i=0;i<inputStr.length;i++)
{
oneChar=inputStr.charAt(i);
if(i == 0 &amp;&amp;
oneChar== '-' )
continue;
if(oneChar <'0' || oneChar > '9')
return false;
}
return true;
}
 
呵呵,看看用Java实现:
try {
value = Integer.parseInt(input);
}
catch(NumberFormatException e) {
System.exit(-1); // 退出程序
}
 
看我的:
<html>
<body>
<form name=form1 action="" onsubmit="return(checkForm())">
<input type=text name=txtField>
</form>
</body>
</html>
<script>
function checkForm()
{
var f=document.form1;
if (f.txtField.value==""||isNaN(f.txtField.value))
{
alert("请输入数字量。");
return(false);
}
return(true);
}
 
[:(]
简单的都让你们写了
我写什么呀?
算了,弄个笨点的,活跃一下气愤
if (document.myform.quantity.value!=""){
strTemp="0123456789";
compstr=document.myform.quantity.value;
for (i=0;i<compstr.length;i++){
j=strTemp.indexOf(compstr.charAt(i));
if (j==-1){
window.alert("You must input correct interger number!");
document.myform.quantity.focus();
return false;}
}

}
 
最佳答案在此:
<script lang='JavaScript'>
// e is a element
function validatePattern(e)
{
var pattern = e.pattern;
var testString = trim(e.value);
var re = new RegExp(pattern,"i");
if(testString.match(re)==null)
{
alert(e.errorMessage==null?"Invalid value. Please retype.":e.errorMessage);
e.focus();
return false;
}
return true;
}
</script>
<input type="Text" name="safetyStock" maxlength="4" pattern="^[0-9]+/.{0,1}[0-9]*$" onblur = "return validatePattern(this);" errorMessage="Please input a number.">
 
上面validatePattern是一个通用的正则表达式检查器,你在你的input里面只要写上
pattern和errorMessage就可以了。
通过自己构造正则表达式,你几乎可以validate一切格式。
 
多人接受答案了。
 
不公平。为什么我的分数这么少?
这么简单的问题,显而易见我的答案是最优的!
 
不公平,我只有1分!还不如不给。
如果你用JavaBean,我的方法最好最简单。
 
不好意思,我要的是用Javascript实现,最先采纳了hawkfly和阿魁的建议。
分数分配不公平,请多多原谅。
 
hawkfly的回答不通用,如果要处理小数,怎么办?改code?
阿魁的回答更加有隐患,你try输入1535E7654。
 
曹晓钢 说得有道理,看来还需要在服务器端验证一遍。
 
哈哈,隔了几天,放心不下,再来这里看看,果然这里结帐了还这么热闹。
其实是否判断数字,虽然简单,却非常重要的。
大家的方法都很不错啊。
我已经收藏了。可惜DFW没有精华版,要不然足够上精华版了。
 
后退
顶部