选择显示字体大小

在asp网站设计中表单验证

     一般的动态网站需要通过表单来收集用户信息,或者实现与用户的交互,虽然我们相信绝大多数人士既然选择了填写表单就会认真的完成,但是亦不能避免无聊人士乱填表单,况且即使一个正常用户在填写过程中也会无意识的出现一些填写错误,或者他们忘记了填某些选项。通常为了避免这种情况,开发者会给表单加一个验证的过程,在表单数据提交到服务器之前或者服务器之后对用户填写的数据进行验证,若遇到错误的填写则返回要求用户进行更正。
  在asp中程序员们一般是这样做的:
  1、用javascript在客户端进行验证。
  2、用vbscript在客户端进行验证。
  3、用vbscript服务器端进行验证。
  上面提到了两个不同的环境,服务器端和客户端,客户端验证实际上就是包含在已下载的页面中,当用户提交表单时候,它直接在已下载到本地的页面中调用script来进行验证,这样可以减少服务器端的运算。而服务器端的验证则是将页面提交到服务器处理,服务器上的另一个asp页面先执行对表单的验证,然后再返回结果到客户端。这样的缺点是每一次验证都要经过服务器,消耗时间较长。但是利用服务器端验证却可以达到较好的验证功能。
  本文就是主要讲述asp中在服务器端的验证。
  在了解以下介绍方法之前,你需要想想在表单验证问题中会遇到哪些需要值得我们控制的地方。就像软件工程思想一样,先分析一下要在哪些方面进行验证。
  1、要求用户的输入必须是中文(英文或数字)。
  2、要求用户的输入必须是有效的邮件地址。
  3、对用户输入的数据进行各种不同的限制。
  4、限制用户输入的数据量。
  5、....
  实际上我们在网站设计中还会因情况不同而遇到其它很多不同的问题,需要我们自己去定义一些规定和限制。
  下面我们以实例来讲述验证方法。
  1、验证输入的数字
  假设一个文本框
  
  <form name="form1" method="post" action="">
  <input type="text" name="textfield">
  </form>
  ’要求用户必须输入数字
  if not isnumeric(request.form("textfield")) then
  response.write "重新填写"
  end if
  ’要求限制数字长度,如你要用户输入oicq号码
  ’此例限制了用户的输入只有为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  


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons