javascript验证问题 我是个学生 学习这个自学很不容易 求求大家帮助我一下 谢谢谢谢 !!!!!!

songqingbo20 2008-05-30 11:45:54
<%dim num1,rndnum
Randomize
Do While Len(rndnum)<4
num1=CStr(Chr((57-48)*rnd+48))
rndnum=rndnum&num1
loop
verifycode=rndnum
%>


<SCRIPT>
<!--
//--身份证号码验证-支持新的带x身份证
function isIdCardNo(num)
{
var factorArr = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
var error;
var varArray = new Array();
var intValue;
var lngProduct = 0;
var intCheckDigit;
var intStrLen = num.length;
var idNumber = num;
// initialize
if ((intStrLen != 15) && (intStrLen != 18)) {
//error = "输入身份证号码长度不对!";
//alert(error);
//frmAddUser.txtIDCard.focus();
return false;
}
// check and set value
for(i=0;i<intStrLen;i++) {
varArray[i] = idNumber.charAt(i);
if ((varArray[i] < '0' || varArray[i] > '9') && (i != 17)) {
//error = "错误的身份证号码!.";
//alert(error);
//frmAddUser.txtIDCard.focus();
return false;
} else if (i < 17) {
varArray[i] = varArray[i]*factorArr[i];
}
}
if (intStrLen == 18) {
//check date
var date8 = idNumber.substring(6,14);
if (checkDate(date8) == false) {
//error = "身份证中日期信息不正确!.";
//alert(error);
return false;
}
// calculate the sum of the products
for(i=0;i<17;i++) {
lngProduct = lngProduct + varArray[i];
}
// calculate the check digit
intCheckDigit = 12 - lngProduct % 11;
switch (intCheckDigit) {
case 10:
intCheckDigit = 'X';
break;
case 11:
intCheckDigit = 0;
break;
case 12:
intCheckDigit = 1;
break;
}
// check last digit
if (varArray[17].toUpperCase() != intCheckDigit) {
//error = "身份证效验位错误!正确为: " + intCheckDigit + ".";
//alert(error);
return false;
}
}
else{ //length is 15
//check date
var date6 = idNumber.substring(6,12);
if (checkDate(date6) == false) {
//alert("身份证日期信息有误!.");
return false;
}
}
//alert ("Correct.");
return true;
}
function form1_onsubmit()
{
if(window.document.form1.username.value=="")
{
alert("考生姓名不能为空!");
document.form1.username.focus();
return false;
}

if(window.document.form1.pwd.value==0||!isIdCardNo(window.document.form1.pwd.value))
{
alert("请核对身份证号码!");
document.form1.pwd.focus();
return false;
}
if(window.document.form1.verifycode1.value!="<%=verifycode%>")
{
alert("验证码不正确!");
document.form1.verifycode1.focus();
return false;
}


}
//-->
</SCRIPT>



</head>

<body >
<form onselectstart="return false;" onSubmit="return form1_onsubmit()" name="form1" method="post" action="Search_Result.asp">
考生姓名 <input name="username" type="text" class="input" id="username" size="20">

身份证号
<input name="pwd" type="text" class="input" id="pwd" size="20">
验证码
<input name="verifycode1" type="text" class="input" id="verifycode1" size="10">
<%=verifycode%><input name="verifycode" type="hidden" value="<%=verifycode%>">
<input type=image src="Images/search.gif" name="Submit" value="提交">

</form>
问题

提交的时候 验证码就会失效 把身份证验证函数去掉 提交的时候 验证码也好使 不知道错在哪里 大家帮帮忙 小弟 先谢谢大家了 我是个学生 学习这个自学很不容易 求求大家帮助我一下
...全文
132 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ganlanfei 2008-06-05
  • 打赏
  • 举报
回复
验证码应提交到服务器端验证。。
kimipolo 2008-06-04
  • 打赏
  • 举报
回复
可能在你提交的时候verifycode又生成了一个新的值
你不是在表单里有个隐藏的verifycode吗,把这个值和提交的verifycode拿到服务器端进行对比,也防止了被绕过,用js在客户端进行验证其实是鸡肋,只要保存文件到本地,去掉里面的js,改提交地址,可以绕过的
wdbjsh 2008-06-02
  • 打赏
  • 举报
回复
if(window.document.form1.verifycode1.value!=" <%=verifycode%>")
{
alert("验证码不正确!");
document.form1.verifycode1.focus();
return false;
}
老大,你这样写,你的验证码就成了明码了,,,人家分析你的代码很容易骗过你的程序啊。。。


你必须提交到服务器端,在服务器端来进行校验的说。。。。、。
algerwo 2008-06-02
  • 打赏
  • 举报
回复
Web技术交流群62996567

讨论Web相关技术,HTML、CSS、PS、图象处理、JavaScript、ASP、ASP.Net、PHP、JSP、数据库,B/S程序
littlelam 2008-06-02
  • 打赏
  • 举报
回复
直接用数字的验证码???
不是用图片的?
小布 2008-06-02
  • 打赏
  • 举报
回复
http://www.cheyoo.com/bbs可以到这借鉴
songqingbo20 2008-05-31
  • 打赏
  • 举报
回复
提交的时候 验证码就会失效 把身份证验证函数去掉 提交的时候 验证码也好使
if(window.document.form1.verifycode1.value!=" <%=verifycode%>")
{
alert("验证码不正确!");
document.form1.verifycode1.focus();
return false;
就是这个代码失效
yangjinok 2008-05-31
  • 打赏
  • 举报
回复
验证码在客户端判断有什么意义
IamHades 2008-05-31
  • 打赏
  • 举报
回复
提交的时候 验证码就会失效 把身份证验证函数去掉 提交的时候 验证码也好使
if(window.document.form1.verifycode1.value!=" <%=verifycode%>")
{
alert("验证码不正确!");
document.form1.verifycode1.focus();
return false;
}
是指这段代码失效吗???



tantaiyizu 2008-05-31
  • 打赏
  • 举报
回复
sf

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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