我给你写个函数吧。
'返回一个字符串中包含的email地址,但本函数不验证该email的合法性;
'如果不包含email地址,则返回空字符串;
'如果包含多个email地址,则返回第一个email。
private function GetEmail(byval sStr as string) as string
const sEmailChar = "1234567890_-abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
dim sChr as string, sEmail as string
dim iAt as long, i as long
iAt=0
for i=1 to len(sStr)
sChr=mid(sStr,i,1)
if sChr="@" then
iAt=i
exit for
end if
next i
sEmail=""
if iAt>0 then
for i=iAt-1 to 1 step -1
sChr=mid(sStr,i,1)
if instr(sEmailChar,sChr)>0 then
sEmail=sChr & sEmail
else
exit for
end if
next i
sEmail=sEmail & "@"
for i=iAt+1 to len(sStr)
sChr=mid(sStr,i,1)
if instr(sEmailChar & "",sChr)>0 then
sEmail=sEmail & sChr
else
exit for
end if
next i
end if
GetEmail=sEmail
end function
import javaio;public class CheckEmail
{
public static boolean checkEmail(String email)
{// 验证邮箱的正则表达式
String format = "\\p{Alpha}\\w{2,15}[@][a-z0-9]{3,}[]\\p{Lower}{2,}";
//p{Alpha}:内容是必选的,和字母字符[\p{Lower}\p{Upper}]等价。如:200896@163com不是合法的。
//w{2,15}: 2~15个[a-zA-Z_0-9]字符;w{}内容是必选的。 如:dyh@152com是合法的。
//[a-z0-9]{3,}:至少三个[a-z0-9]字符,[]内的是必选的;如:dyh200896@16com是不合法的。
//[]:''号时必选的; 如:dyh200896@163com是不合法的。//p{Lower}{2,}小写字母,两个以上。如:dyh200896@163c是不合法的。
if (emailmatches(format))
{
return true;// 邮箱名合法,返回true
}
else
{
return false;// 邮箱名不合法,返回false
}
}
public static void main(String[] args)
throws Exception{
String email = "cc365@163com";
// 需要进行验证的邮箱
while(true){
email = new BufferedReader(new InputStreamReader(Systemin))readLine();
if (CheckEmailcheckEmail(email))
// 验证邮箱
{ Systemoutprintln(email+"\n是合法的邮箱名。");}
else{Systemoutprintln(email+"\n不是合法的邮箱名。");
}
}
}
}
1PHP邮箱验证正则表达式:\x0d\preg_match("/^[0-9a-zA-Z]+@(([0-9a-zA-Z]+)[])+[a-z]{2,4}$/i",$email);\x0d\如果需要更加完善、严格的验证,修改这个正则表达式即可。\x0d\\x0d\2PHP邮箱验证正则表达式实例:\x0d\\x0d\\x0d\3Javascript(js)邮箱验证正则表达式:\x0d\myreg=/^([a-zA-Z0-9]+[_|\_|\])[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\])[a-zA-Z0-9]+\[a-zA-Z]{2,4}$/;\x0d\这个可以验证形如:i@julyingcom,i@icom这种邮箱\x0d\\x0d\4Javascript(js)邮箱验证正则表达式实例:\x0d\\x0d\functionisEmail(val){\x0d\varmyreg=/^([a-zA-Z0-9]+[_|\_|\])[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\])[a-zA-Z0-9]+\[a-zA-Z]{2,4}$/;\x0d\if(!myregtest(val))\x0d\return'不是邮箱';\x0d\return'是邮箱';\x0d\};\x0d\alert(isEmail('i@julyingcom'));\x0d\
1 PHP 邮箱验证正则表达式:
preg_match("/^[0-9a-zA-Z]+@(([0-9a-zA-Z]+)[])+[a-z]{2,4}$/i",$email );
如果需要更加完善、严格的验证,修改这个正则表达式即可。
2 PHP 邮箱验证正则表达式实例:
<php
function isEmail($email){
if(preg_match("/^[0-9a-zA-Z]+@(([0-9a-zA-Z]+)[])+[a-z]{2,4}$/i",$email )){
return '是邮箱';
} else{
return '不是邮箱';
}
}
>
3 Javascript(js) 邮箱验证正则表达式:
myreg = /^([a-zA-Z0-9]+[_|\_|\])[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\])[a-zA-Z0-9]+\[a-zA-Z]{2,4}$/;
这个可以验证 形如:i@julyingcom ,i@icom 这种邮箱
4 Javascript(js) 邮箱验证正则表达式实例:
<script type="text/javascript">
function isEmail(val){
var myreg = /^([a-zA-Z0-9]+[_|\_|\])[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\])[a-zA-Z0-9]+\[a-zA-Z]{2,4}$/;
if(!myregtest(val))
return '不是邮箱';
return '是邮箱';
};
alert( isEmail('i@julyingcom') );
</script>
虽然没有统一的邮箱账号格式,但是所有邮箱都符合“名称@域名”的规律。对于名称和域名的字符限制,我们可以根据项目的情况定义一个,比如只允许有英文、数字、下划线等组成。下面举例实现一些验证邮箱格式的正则表达式。
实例1:只允许英文字母、数字、下划线、英文句号、以及中划线组成
举例:sunxiuzhen@dctcorgcn
分析邮件名称部分:
26个大小写英文字母表示为a-zA-Z
数字表示为0-9
下划线表示为_
中划线表示为-
由于名称是由若干个字母、数字、下划线和中划线组成,所以需要用到+表示多次出现,根据以上条件得出邮件名称表达式:[a-zA-Z0-9_-]+
分析域名部分:一般域名的规律为“[N级域名][三级域名]二级域名顶级域名”,比如“qqcom”、“>
“”部分可以表示为[a-zA-Z0-9_-]+
“”部分可以表示为\[a-zA-Z0-9_-]+
多个“”可以表示为(\[a-zA-Z0-9_-]+)+
综上所述,域名部分可以表示为[a-zA-Z0-9_-]+(\[a-zA-Z0-9_-]+)+
最终表达式: 由于邮箱的基本格式为“名称@域名”,需要使用“^”匹配邮箱的开始部分,用“$”匹配邮箱结束部分以保证邮箱前后不能有其他字符,所以最终邮箱的正则表达式为:
^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\[a-zA-Z0-9_-]+)+$
实例2:名称允许汉字、字母、数字,域名只允许英文域名
举例:张三001Abc@lenovocomcn
分析邮件名称部分:
汉字在正则表示为[\u4e00-\u9fa5]
字母和数字表示为A-Za-z0-9
通过分析得出邮件名称部分表达式为[A-Za-z0-9\u4e00-\u9fa5]+
分析邮件域名部分:邮件部分可以参考实例1中的分析域名部分。
得出域名部分的表达式为[a-zA-Z0-9_-]+(\[a-zA-Z0-9_-]+)+。
最终表达式: 我们用@符号将邮箱的名称和域名拼接起来,因此完整的邮箱表达式为 :
^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\[a-zA-Z0-9_-]+)+$
以上就是关于求vb获取字符串中的邮箱地址的正则方程式,多谢了!!全部的内容,包括:求vb获取字符串中的邮箱地址的正则方程式,多谢了!!、求一个邮箱的格式是否正确的正则表达式、正则表达式如何验证邮箱等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)