用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即爲所有數組。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章