$regex = '/\A[\p{L}0-9!#$%&\'*+\/=?^_`{|}~-]+(?:\.[\p{L}0-9!#$%&\'*+\/=?^_`{|}~-]+)*@(?:[_\p{L}0-9][-_\p{L}0-9]*\.)*(?:[\p{L}0-9][-\p{L}0-9]{0,62})\.(?:(?:[a-z]{2}\.)?[a-z]{2,})\z/ui'; 実際のところ、メールアドレスの正規表現については普遍的な正解というものは有りませんので状況に応じて適宜修正してご利用下さい。 参考:PHPしか書けないザコがメールアドレス正規表現でガチ勢に挑んでみた クレジットカード番号にマッチ 全てのカード会社のカードにマッチするのは以下。 $regex = '/\A(4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|3[47][0-9]{13}|3(?:0[0