主题:  如何在Access里设置Email字段有效性规则?

我哭了

职务:普通成员
等级:1
金币:0.0
发贴:148
#12005/10/6 21:39:40
使输入的值必须正确,合法,符合电子邮件地址
 1. 必须包含一个并且只有一个符号“@”
 2. 第一个字符不得是“@”或者“.”
 3. 不允许出现“@.”或者.@
 4. 结尾不得是字符“@”或者“.”
我从网上找了一句验证电子邮件地址是否合法的正则表达式,但是应用到数据库里不行哦,怎么输入都是错,不知道是表达式有问题还是不可以应用到Access数据库里:="^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$"

另1,再求一个,是验证字段里的数据不能只是“数字” or “字母”

另2,求一个验证某一字段里的数据只能为“数字”,不能输入其它字符,比如QQ号码(已解决)

另3,求一个验证密码字段里 英文字母 大小写的规则。。

实在是不会,还望大家赐教,谢谢!!

编辑历史:[此帖最近一次被 icry5 编辑过(编辑时间:2005-10-09 16:37:12)]


Syawn

职务:普通成员
等级:5
金币:10.0
发贴:2930
#22005/10/8 8:39:47
这个不是可以直接在网页里实现么````



icerain

职务:普通成员
等级:1
金币:1.0
发贴:249
#32005/10/9 1:07:00
给你一个网页检测的函数(我也是偷来的
email=request("那啥"

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 '------------------------函数结束



icerain

职务:普通成员
等级:1
金币:1.0
发贴:249
#42005/10/9 1:08:35
强烈见意把论坛这个( )代码改一下

ASP里的东西好多显示成



我哭了

职务:普通成员
等级:1
金币:0.0
发贴:148
#52005/10/9 16:35:12
谢谢二位朋友的热心帮助,不过我还是不太会啊。。不好意思,太菜了

楼上朋友发代码时可以把 禁止转换表情图标 选项打上勾就可以了,对于在网页里实现。。我是真的不会啊,我没学过ASP,都是看教程看书自学的,想在服务器端验证数据的有效性,没办法,只有对数据库下手了

另2我已经解决了,但是其它还是不会。。郁闷啊



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#62005/10/9 17:22:45
在程序中用正则,那样灵活性和可控性比较高



icerain

职务:普通成员
等级:1
金币:1.0
发贴:249
#72005/10/13 0:43:34
我给你的那个函数很简单的。不用你研究

第一行就是判断页取得的EMAIL表单数据

然后函数判断

然后返回的直有二种 true and false

你可以这样写

if IsValidEmail = false then
不合格咋办
else
合格了咋办
end if

你说在数据上弄,这好像更难了,也许实现不了(反正我不会)
就算可以实现,不合标准的数据写入数据库时也会出错的,很可能还影响其它数据的写入

编辑历史:[此帖最近一次被 icerainzd 编辑过(编辑时间:2005-10-13 00:48:47)]