[可选参数2],..."
表单项名称:例如name等,是自定义的
判断类型:就是Case语句里的0,1,2,3等等
出错提示:例如 姓名必须填写 等,是自定义的
可选参数:比如在判断确认密码和密码必须相等的Text类型时,可选参数就是想要判断相当的密码表单项名称;在必须为指定位数的Text类型时,可选参数就是指定的位数。当然可以选参数可以是好几个,具体就看你Case语句里的if是怎么编的了。
这里已经罗列了8种不同的情况的if判断语句,大家可以继续添加上去,注意这里的几个特别的部分,比如序号5email格式的判断(emailReg.test),这里用到了正则表达式,而正则表达式的定义,我们可以统一放在if判断的外面。
4、函数CheckForm_JS(frmName,errStr)。这个函数的作用是最后将一个个javascript的if判断整合起来,代码如下:
Sub CheckForm_JS(frmName,errStr)
Dim tmpArr
Dim i
Dim strShow '输出JS的字符串
'获取错误列表,建立数组
tmpArr=Split(errStr,",")
'写JS
for i=0 to UBound(tmpArr)
if i<>0 then
strShow=strShow&"else "&findJS(frmName,tmpArr(i))
else
strShow=strShow&findJS(frmName,tmpArr(i))
end if
next
'输出
strShow="<script language=javascript>"&vbCrlf&_
"<!--"&vbCrlf&_
"//Power by xiaotian 2002"&vbCrlf&_
"function checkSubmit()"&vbCrlf&_
"{"&vbCrlf&_
"var emailReg = /^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/;"&vbCrlf&_
"var pwdReg = /[a-z0-9]$/;"&vbCrlf&_
strShow&_
"else"&vbCrlf&_
"return true;"&vbCrlf&_
"}"&vbCrlf&_
"//-->"&vbCrlf&_
"</script>"
Response.Write strShow
End Sub
大家注意到这里的一段:
if i<>0 then
strShow=strShow&"else "&findJS(frmName,tmpArr(i))
else
strShow=strShow&findJS(frmName,tmpArr(i))
end if
作用是把第1个以后javascript的if语句写成else if,而
"var emailReg = /^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/;"&vbCrlf&_
"var pwdReg = /[a-z0-9]$/;"&vbCrlf&_
段代码就是正则表达式的定义了,大家可以根据需要扩充。
5、使用方法。我们可以把这2段函数写在一个文件里,比如CheckForm_JS.asp,然后在要使用的页调用,比如:
<!--#include file="checkform_js.asp" -->
<%
Call checkform_js("frm","name(北联网教程,专业提供视频软件下载)
……