[Codeigniter-users] CI_Form_validation.php のメールアドレス検証の正規表現

Zurück zum Archiv-Index

Kenji Suzuki kenji****@gmail*****
2011年 3月 2日 (水) 19:43:08 JST


Kenji です。


On Wed, 2 Mar 2011 18:40:57 +0900
Toshihiro Karakane <karak****@karak*****> wrote:

> はじめまして。
> 
> 唐金と申します。

ごきげんよう。


> CodeIgniterを利用しているのですが、メールアドレスの正規表現が正しくないのではないか
> と思うのですが、この問題について事情をご存じの方はいらっしゃいませんか?
> 
> 具体的には、CI_Form_validationの中のメールアドレスの正規表現は次の用になっています。
> 
>    "/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix"
> 
> 一方で、メールアドレスに利用可能な文字は、
> 
>    - 半角英数字(大文字小文字)
>    - ! # $ % & ' * + - / = ? ^ _ ` { | } ~
>    - .(先頭と末尾以外で使用可能。2個以上連続してはならない)
>    (→ 参照先: http://ja.wikipedia.org/wiki/メールアドレス 関連するRFC文書を参照しても同様)
> 
> となっています。
> 
> 前述の正規表現では抜け落ちる記号が結構あり、アンダースコアなど本当に実際に利用されそうな文字
> では検証に失敗してしまいます。

例えば、どんなメールアドレスでしょうか?

 
> この問題は比較的容易に指摘されそうだと思ったので公式サイトのバグトラッカー、フォーラムを
> 参照したのですが、それらしき記述は見つかりませんでした。
> 
> これって不具合に該当すると思うのですが、どうなんでしょうか?

今まで不具合と報告されたことはないということだと思いますので、
とくに実際問題は生じていないということかと思います。

もちろん、厳密に RFC に準拠した形式をチェックするものでは
ありませんが。


> # ところで、バグをレポートする場所ってbitbucketのトラッカーなのでしょうか? フォーラムなのでしょうか?
> # ご存知のかたいらっしゃれば教えていただければと思います。

バグであることが確実なら Bitbucket のトラッカーに投稿してください。
そのほうが修正される可能性が高いと思います。

もし、patch などコードを書く場合は、

https://bitbucket.org/ellislab/codeigniter/wiki/Taking%20part%20into%20the%20CodeIgniter%20Development

を参照してください。


// Kenji




Codeigniter-users メーリングリストの案内
Zurück zum Archiv-Index