首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 网络编程-> ASP教程
网站设计中表单验证-ASP教程,客户端相关
作者:网友供稿 点击:32
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
网站设计中表单验证(asp)
作者:刘巍
邮箱:support@ceocio.net
网址:http://www.ceocio.net
一般的动态网站需要通过表单来收集用户信息,或者实现与用户的交互,虽然我们相信绝大多数人士既然选择了填写

表单就会认真的完成,但是亦不能避免无聊人士乱填表单,况且即使一个正常用户在填写过程中也会无意识的出现一些

填写错误,或者他们忘记了填某些选项。通常为了避免这种情况,开发者会给表单加一个验证的过程,在表单数据提交

到服务器之前或者服务器之后对用户填写的数据进行验证,若遇到错误的填写则返回要求用户进行更正。
在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

实际上我们还可以写出很多的验证函数,我这里只是列举一二,希望对大家有所帮助。

文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·在ASP.NET中使用Office Web Components (OWC)创建统计图-.NET教程,数据库应用
·windows系统下jsp+mysql+tomcat的配置-JSP教程,Application/Applet
·把aspx文件编译成DLL文件-.NET教程,Asp.Net开发
·Haneng.com的简单留言板制作源程序例子-ASP教程,ASP应用
·使用VB实现邮箱自动注册(一):表单自动提交-.NET教程,VB.Net语言
·VS.NET安装指南(To菜鸟)-.NET教程,Asp.Net开发
·web下水晶报表的使用!-.NET教程,Web Service开发
·C# 静态成员和方法的学习小结-.NET教程,数据库应用
·IIS的使用-ASP教程,ASP基础
·asp讲座之二:读取通过表单发送的数据
最新文章
·photoshop鼠绘实例:浪漫夏夜壁纸_photoshop教程
·买卖中小网站交易的一些细节问题_站长心得
·七招打造最安全的windows xp操作系统_windows xp
·做google adsense最佳和最重要的要诀_网赚技巧
·上下文关联广告清单(内文广告)推荐_网赚技巧
·广告联盟,痛定思痛_网赚技巧
·insenz首批广告费发放给站长_网赚技巧
·李彦宏:三分之一时间用在寻找人才_站长访谈
·中国汽车资源网杨锁民:网络寒冬时下海_站长访谈
·做it新闻资讯网站应先学新浪_站长心得
相关主题
  • 网站设计中有利于排名的25条建议_站长心得
  • 网站设计中配色技巧-ASP教程,ASP技巧
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭