LUA检查邮箱地址是否合法

本文提供了一段使用Lua编写的代码,用于验证电子邮件地址的合法性。该代码详细检查了邮箱地址的格式,确保其符合常见的电子邮件地址规范,包括字符限制、特殊符号的位置等。

郑重声明:本文是笔者根据个人理解所写,错误难免,欢迎拍砖!

       可以任意转载、修改,转载时是否标明出处,随君而定!

合法的email地址格式如下:
  1. 首字符必须用字母,而且其它的字符只能用26个大小写字母、0~9及_-.@符号
  2. 必须包含一个并且只有一个符号“@”
  3. @后必须包含至少一个至多三个符号“.”
  4. 第一个字符不得是“@”或者“.”(第一步已检查过了)
  5. 不允许出现“@.”或者.@
  6. 结尾不得是字符“@”或者“.”

具体代码实现:

 1 function isRightEmail(str)
 2     if string.len(str or "") < 6 then return false end
 3     local b,e = string.find(str or "", '@')
 4     local bstr = ""
 5     local estr = ""
 6     if b then
 7         bstr = string.sub(str, 1, b-1)
 8         estr = string.sub(str, e+1, -1)
 9     else
10         return false
11     end
12 
13     -- check the string before '@'
14     local p1,p2 = string.find(bstr, "[%w_]+")
15     if (p1 ~= 1) or (p2 ~= string.len(bstr)) then return false end
16     
17     -- check the string after '@'
18     if string.find(estr, "^[%.]+") then return false end
19     if string.find(estr, "%.[%.]+") then return false end
20     if string.find(estr, "@") then return false end
21     if string.find(estr, "[%.]+$") then return false end
22 
23     _,count = string.gsub(estr, "%.", "")
24     if (count < 1 ) or (count > 3) then
25         return false
26     end
27 
28     return true
29 end

 

转载于:https://www.cnblogs.com/520zijuan/archive/2013/02/05/2892929.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值