请教各位哪里不对?

Dleno 2004-06-23 05:11:22
以下是代码:
<script language="javascript">
function checknum(){
str=document.f1.num.value;
for(i=0; i<str.length; i++){
chr=str.substring(i, i++);
if(chr<"0"||chr>"9"){
alert("请输入数字字符!");
break;
}
}
}
</script>
<form action="" method="post" name="f1">
<input name="num">
<input type="submit" value="提交" onclick="checknum()">
</form>
...全文
54 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dleno 2004-06-24
  • 打赏
  • 举报
回复
TO:: 52juanjuan(Fibona)
我的代码是使用了微软在计算机里做的一个编码,编码为0-9的便是数字字符0-9。chr<"0"||chr>"9"是判断用户输入的字符是否在0-9的编码外,在0-9编码外,便执行IF语句。
而不是让它返回TRUE/FALSE。
Dleno 2004-06-24
  • 打赏
  • 举报
回复
To:gjd111686(数字金刚)
出现了语法错误(event)
52juanjuan 2004-06-23
  • 打赏
  • 举报
回复
或者用正则来判断不就可以了吗?
52juanjuan 2004-06-23
  • 打赏
  • 举报
回复
上面写错了
function checknumeric(el)
{
//如果含有非字母数字 返回 false
var text1="1234567890";
for(i=0;i<=el.length-1;i++)
{
char1=el.charAt(i);
index=text1.indexOf(char1);
if(index==-1){
alert("请输入数字字符");
return false;//非法
}
//没有
}
return true;
}
52juanjuan 2004-06-23
  • 打赏
  • 举报
回复
function checknumeric(el)
{
//如果含有非字母数字 返回 true
var text1="1234567890";
for(i=0;i<=el.length-1;i++)
{
char1=el.charAt(i);
index=text1.indexOf(char1);
if(index==-1){
alert("请输入数字字符");
return false;//非法
}
//没有
}
return true;
}
gjd111686 2004-06-23
  • 打赏
  • 举报
回复
用htc封一下,以后就不用每页判断了(麻烦)
gjd111686 2004-06-23
  • 打赏
  • 举报
回复
字符串
<input onkeypress="return (event.keyCode>96&&event.keyCode<123)||(event.keyCode>64&&event.keyCode<91)" onpaste="return !clipboardData.getData('text').match(/\D/)" ondragenter="return false">
gjd111686 2004-06-23
  • 打赏
  • 举报
回复
数字
<input onkeypress="return event.keyCode>=48&&event.keyCode<=57||event.keyCode==46" onpaste="return !clipboardData.getData('text').match(/\D/)" ondragenter="return false">

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧