请问asp验证的问题?

bobovivi2008 2008-07-27 09:48:58
请问asp验证的问题?

请问用vb来验证表单中的email和QQ号要怎么写?

当用户乱填email的时候提示填写错误,vb代码怎么写?

当用户填的不是QQ号,而是文字的时候提示错误,vb代码怎么写?
...全文
70 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cimzzxiang 2008-07-27
  • 打赏
  • 举报
回复
在用ASP编写页面时,如果涉及到邮件发送,一般会要求输入Email地址。错误的Email地址往往带来许多不必要的麻烦,用下面的函数IsValidEmail就能判断出一个Email地址是否有效。
函数源代码:
<%
Function IsValidEmail(Email)
ValidFlag = False
If (Email <> "") And (InStr(1, Email, "@") > 0) And (InStr(1, Email, ".") > 0) Then
atCount = 0
SpecialFlag = False
For atLoop = 1 To Len(Email)
atChr = Mid(Email, atLoop, 1)
If atChr = "@" Then atCount = atCount + 1
If (atChr >= Chr(32)) And (atChr <= Chr(44)) Then SpecialFlag = True
If (atChr = Chr(47)) Or (atChr = Chr(96)) Or (atChr >= Chr(123)) Then SpecialFlag = True
If (atChr >= Chr(58)) And (atChr <= Chr(63)) Then SpecialFlag = True
If (atChr >= Chr(91)) And (atChr <= Chr(94)) Then SpecialFlag = True
Next
If (atCount = 1) And (SpecialFlag = False) Then
BadFlag = False
tAry1 = Split(Email, "@")
UserName = tAry1(0)
DomainName = tAry1(1)
If (UserName = "") Or (DomainName = "") Then BadFlag = True
If Mid(DomainName, 1, 1) = "." then BadFlag = True
If Mid(DomainName, Len(DomainName), 1) = "." then BadFlag = True
ValidFlag = True
End If
End If
If BadFlag = True Then ValidFlag = False
IsValidEmail = ValidFlag
End Function
%>
用法举例:
IsValidEmail("my_263_email@263.net") 返回Ture
IsValidEmail("zh99wj@tonghua.com.cn") 返回Ture
IsValidEmail("myemail263.net") 返回False
IsValidEmail("my_263_email@263) 返回False
请注意,函数只是判断Email地址格式是否有效,但并不能检查该地址是否确实存在。
cimzzxiang 2008-07-27
  • 打赏
  • 举报
回复
判断email
<%
function IsValidEmail(email)
dim names, name, i, c
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
function strlen(str)
ON ERROR RESUME NEXT
dim WINNT_CHINESE
WINNT_CHINESE = (len("论坛")=2)
if WINNT_CHINESE then
dim l,t,c
dim i
l=len(str)
t=l
for i=1 to l
c=asc(mid(str,i,1))
if c <0 then c=c+65536
if c>255 then
t=t+1
end if
next
strlen=t
else
strlen=len(str)
end if
if err.number <>0 then err.clear
end function
%>
别人刚发的帖子拿来的,应该能用的,试试吧
Anlige 2008-07-27
  • 打赏
  • 举报
回复
js 正则,呵呵

var reg_qq=/^\d{5,11}$/;
var reg_email=/^[0-9A-Za-z_]{1,}@[0-9A-Za-z_]{1,}\.[0-9A-Za-z]{1,}$/;
var reg_tel=/^\d{3,4}-\d{1,}$/;
var reg_mobile=/^1\d{10}$/;
var reg_adcode=/^\d{6}$/;
var reg_address=/^\S{10,}$/;
var reg_yan=/^\d{4}$/;

----------------------------^_^大家一起学习^_^------------------------------
艾恩ASP学习博客 http://blog.ii-home.cn

Email:zhanghuiguoanlige@126.com QQ:417833272
免费提供各种ASP学习资源,组件、源代码、学习手册、技术文章...
ASP无组件上传(支持多文件+表单数据)
ASP无组件上传(保存表单到数据库)
RSS基本结构的定义
mnm326 2008-07-27
  • 打赏
  • 举报
回复
判断是不是qq号吗,把值获取到以后可以用isnumeric判断是不是数字型数据, email的合法性可以用字符串函数查找其中是不是含有@ .com .cn .com.cn .net.... 可能说的不是很明白.具体代码我还没有写.请下位把代码列出! 学习中.....

28,408

社区成员

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

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