+------------------------------------------------------------------------------------------------------+ 网站设计中的表单验证 [2005-10-6] xcsxyq 发表在 网页制作
| 1、验证输入的数字 假设一个文本框 <form name="form1" method="post" action=""> <input type="text" name="textfield"> </form> '要求用户必须输入数字 if not isnumeric(Request.Form("textfield")) then response.write "重新填写" end if '要求限制数字长度,如你要用户输入qq号码 '此例限制了用户的输入只有为4到10位数字才有效 if len(Request.Form("textfield"))>10 or len(Request.Form("textfield"))<4 then response.write "重新填写" end if 当然上面用Request.Form和Request是一样的,随便你怎么写了。 2、验证用户输入的邮件地址 '引用一段通用检测函数来说明 '由于检验程序较长,将其定义为一函数来调用 function IsValidEmail(email) dim names, name, i, c 'Check for valid syntax in an email address. IsValidEmail = true names = Split(email, "@") if UBound(names) <> 1 then IsValidEmail = false exit function end if for each name in names if Len(name) <= 0 then IsValidEmail = false exit function end if for i = 1 to Len(name) c = Lcase(Mid(name, i, 1)) if InStr("abcdefghijklmnopqrstuvwxyz_-.", c) <= 0 and not IsNumeric(c) then IsValidEmail = false exit function end if next if Left(name, 1) = "." or Right(name, 1) = "." then IsValidEmail = false exit function end if next if InStr(names(1), ".") <= 0 then IsValidEmail = false exit function end if i = Len(names(1)) - InStrRev(names(1), ".") if i <> 2 and i <> 3 then IsValidEmail = false exit function end if if InStr(email, "..") > 0 then IsValidEmail = false end if end function '上面的这段函数大家应该都看的懂,当然你可以修改这段代码,使得即使用户输入XXX@CCC.DDD是错误的邮件地址
,因为DDD不是一个有效域名。 '引用的时候可以这样写 if IsValidEmail(trim(request("textfield")))=false then response.write "重新填写" end if
3、验证为空的表单单元 有的信息是要求用户必须填写的,所以不允许为空,因此当用户输入为空的时候需要提示。 '对为空单元的处理 if Request.Form("textfield")="" then Response.write "填写为空" end if 4、判断用户输入的是不是一个日期 首先明白日期值格式2002-11-19 '直接判断一个值是否是日期 if not isdate(Request.Form("textfield")) then Response.write "日期填写出错" end if 而我们在设计网站时候往往用三个下拉框来实现年、月、日三个不同选项,如何将这三个值联系起来,并且进行验证
呢? 首先当然要建立三个下拉框了,分别命名表单名为date,month,year,然后就是后台的处理了,因为先前我们在前台
获取了date,month,year这三个传递过来的值,所以我们必须把他们连接起来合成一个变量才能验证和存入数据库。连
接成标准日期格式表达式可以这么写: birthday=trim(Request.Form("year"))&"-"&trim(Request.Form("month"))&"-"&trim(Request.Form("date")) 验证已经转换的输入是否为合法日期可以使用isdate函数: if not isdate(birthday) then response.write "错误" end if 5、不允许用户输入某些特殊字符 在这里我们假设传递的值是content,我们不允许输入的值是=和% if Instr(request("content"),"=")>0 or Instr(request("content"),"%")>0 then response.write "不能输入=和%" end if
实际上我们还可以写出很多的验证函数,大家自已拓展一下吧。
| |
+------------------------------------------------------------------------------------------------------+ |