用perl写email验证时遇到的问题

Email匹配描述:

第一部分:一个或多个(以一个或多个字母开头,后面是0个或多个数字减号、下划线)

第二部分:@

第三部分:一个或多个字母,后面是0个或多个减号、下划线

第四部分:一个或多个(以点号开头,后面跟随一个或多个字母)

表述貌似不太清晰吧,哈哈

#!/usr/bin/perl

$email[0] = "test\@vip.sina.com";
$email[1] = "ab\@sidf.xcom";
$email[2] = "asdfkjskjskkjl";
$email[3] = "a\@a.";
print join("\t",@email);
print "\n";
for ($i=0;$i<$#email+1;$i++) {
if ($email[$i] =~ /^([a-z]+([0-9]+)?[-_]*)@+([a-z]+[-_]*)(\.[a-z]+)+$/i) {
print "Welecome! ".$&;
}else{
print "Sorry, ",$email[$i]," is a Invalide Email!";
}
print "\n";
}


注意的问题:
1、@为perl关键字,所以用例中必须\@处理。
2、$#email为数组email的长度。
3、对于$和@可以简单理解为单一和全部。$email[$i]即为唯一的值,@email即为所有数组。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值