帮忙看看这段代码,我理解的有没有问题?
<%
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)) 'mid函数返回name字符串中从i开始长度
'是1的字符,然后由lcase函数将它转换
'成小写字符
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
%>
----------------------------------------------------------------
这是一个判断email合法性的函数,但是为什么感觉有重复的判断在里面,有些不明白。
1、name是干什么用的?
2、names = Split(email, "@")
names是一个数组存放email表达式,那“@”有什么作用呢?
3、if UBound(names) <> 1 then
IsValidEmail = false
exit function
end if
UBOND()的作用是返回指定的数组维可用的最大下标,但是这句话判断结果不为1的时候为什么就要退出函数呢?我认为输入email后,它的值肯定不为1。
4、if InStr("abcdefghijklmnopqrstuvwxyz_-.", c) <= 0 and not IsNumeric(c)then
'判断C在不在这些字符里,如果不在退出
if InStr(names(1), ".") <= 0 then
判断name里有没有“.”,如果不存在那么退出。
这两个判断都判断了“.”存在与否,是否重复了?
5、i = Len(names(1)) - InStrRev(names(1), ".")
判断在name字符串中“.”后面有几位字符,这么理解正确吗?
6、if InStr(email, "..") > 0 then
这是判断什么的?
最近刚看ASP希望各位高手多多指教。
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)) 'mid函数返回name字符串中从i开始长度
'是1的字符,然后由lcase函数将它转换
'成小写字符
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
%>
----------------------------------------------------------------
这是一个判断email合法性的函数,但是为什么感觉有重复的判断在里面,有些不明白。
1、name是干什么用的?
2、names = Split(email, "@")
names是一个数组存放email表达式,那“@”有什么作用呢?
3、if UBound(names) <> 1 then
IsValidEmail = false
exit function
end if
UBOND()的作用是返回指定的数组维可用的最大下标,但是这句话判断结果不为1的时候为什么就要退出函数呢?我认为输入email后,它的值肯定不为1。
4、if InStr("abcdefghijklmnopqrstuvwxyz_-.", c) <= 0 and not IsNumeric(c)then
'判断C在不在这些字符里,如果不在退出
if InStr(names(1), ".") <= 0 then
判断name里有没有“.”,如果不存在那么退出。
这两个判断都判断了“.”存在与否,是否重复了?
5、i = Len(names(1)) - InStrRev(names(1), ".")
判断在name字符串中“.”后面有几位字符,这么理解正确吗?
6、if InStr(email, "..") > 0 then
这是判断什么的?
最近刚看ASP希望各位高手多多指教。
...全文
相关推荐
java六大必须理解的问题 文档
java六大必须理解的问题、内容比较详细、写的比较具体
InterfaceTest.java 这段代码用于理解接口静态、默认(可重写)、接口中的方法、多实现、多继承知识点
这段代码用于学习接口时,更加深刻理解接口静态、默认(可重写)、接口中的方法、多实现、多继承等知识点。
你能解释一下这段代码的作用吗
是的,它只是检查您是否不使用公共信息作为密码,因为这样很容易破坏它。 真好!
通过代码理解java泛型
本篇文章通过代码实例让大家充分的理解java泛型的相关知识点内容,有需要的朋友们可以学习下。
带时间窗的车辆路径规划问题的粒子群算法matlab代码
代码利用粒子群算法对带时间窗的车辆路径规划问题进行了求解,代码进行了详细的注释,易于理解和进行修改,内置了一组数据,为可执行的代码。


