验证问题,IE下好用,但firefox下有问题,在线等

NiuniuASP 2006-08-10 04:04:13
是添加用户的验证,用多行文本框(textarea)来添加,用户名必须为四位数字,密码为英数字(不限位数),用户名和密码之间用半角逗号间隔,一次输入多个用户,输入完一个用户后回车输入下一个用户(目前输入值为正确格式).

<script language=javascript>
function check()
{
if (document.myform.val.value=="")
{
alert ("Please input")
return false;
}

var s = document.myform.val.value ;
var arrTemp = s.split("\n");

for(i = 0; i<arrTemp.length;i++){
var reg = /^\d{4}(,[a-zA-Z0-9]+){1}$/g;
arrTemp[i] = arrTemp[i].replace(/[\r\n]/g, "" );
if(!reg.test(arrTemp[i]))
{
alert ("input error!!!")
return false;
}
}
}
</script>
<form method="post" name="myform" action="" onSubmit="return check()">
<textarea wrap="soft" name="val" id="val" cols="50" rows="10">1001,test
1002,test
1003,test
</textarea>
<input name="Submit" type="submit" value="Submit" />
</form>
...全文
211 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
NiuniuASP 2006-08-12
  • 打赏
  • 举报
回复
UP
NiuniuASP 2006-08-11
  • 打赏
  • 举报
回复
十分感谢天外水火,代码我试过没有问题,还有个验证是对上面添加的用户分组,格式为:编号,用户ID1,用户ID2,……,编号为数字,编号和用户名之间,用户名和用户名之间均用半角“,”间隔,用户名为四位数字,一组中至少有两位用户,一组输入完成后回车输入下一组,我对照你的代码修改了一下还是不好用,请再帮个忙好吗?谢谢!!!
<script language=javascript>
function check()
{
if (document.myform.val.value=="")
{
alert ("Please input")
return false;
}
var s = document.getElementById("val").value ;

var arrTemp = s.split("\n");

for(i = 0; i<arrTemp.length;i++){
var reg = /^\d+(,\d{4})+$/g;
arrTemp[i] = arrTemp[i].replace(/[\r\n]/g, "" );
if(!reg.test(arrTemp[i]))
{
alert ("input error!!!")
return false;
}
}
}
</script>
<form method="post" name="myform" action="" onsubmit="return check();">
<textarea wrap="soft" name="val" id="val" cols="50" rows="10">1,1001,1002,1003
2,1004,1005
</textarea>
<input name="Submit" type="submit" value="Submit" />
</form>
hbhbhbhbhb1021 2006-08-11
  • 打赏
  • 举报
回复
<script language=javascript>
function check()
{
if (document.myform.val.value=="")
{
alert ("Please input")
return false;
}
var s = document.getElementById("val").value ;
var arrTemp = s.split("\n");
for(i = 0; i<arrTemp.length;i++){
var reg = /^\d{4}(,[a-zA-Z0-9]+){1}$/;
arrTemp[i] = arrTemp[i].replace(/[\r\n]/g, "" );
if(arrTemp[i]=="")
{
continue;
}
if(!reg.test(arrTemp[i]))
{
alert ("input error!!!")
return false;
}
}
}
</script>
<form method="post" name="myform" action="" onSubmit="return check()">
<textarea wrap="soft" name="val" id="val" cols="50" rows="10">1001,test
1002,test
1003,test
</textarea>
<input name="Submit" type="submit" value="Submit" />
</form>
NiuniuASP 2006-08-11
  • 打赏
  • 举报
回复
浏览器没有报错信息,alert的值是正确的,javascript 控制台里也没有错误信息....
guo9038 2006-08-10
  • 打赏
  • 举报
回复
在firefox的javascript 控制台里可以看到是哪一行javascript代码出现了错误。

针对改一下就可以了
fosjos 2006-08-10
  • 打赏
  • 举报
回复
两个地方都换了吧

应该可以的,
浏览器有没有报错?
实在不行的话,
先用alert(document.getElementById("val").value)看看是不是正确
NiuniuASP 2006-08-10
  • 打赏
  • 举报
回复
谢谢楼上,但换了也不起作用.
fosjos 2006-08-10
  • 打赏
  • 举报
回复
document.myform.val.value
改成document.getElementById("val").value试试

87,921

社区成员

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

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