そのまま使える正規表現集 for regExp (javascript)
2007.12.27 Thursday | by befine
JUGEMテーマ:インターネット
正規表現は英語で regular expression と書きます。
「regular」は、日本語で「規則的な」と訳し、
「expression」は、「表現」と訳されます。
つまり、規則的な表現を「正規表現」と、ごくコンパクトな言葉にした模様。
どうせ短縮するなら「規則表現」にしといた方が分かりやすかったと思うのだけど、、、?
それでも分からない方の為にもっとかみ砕いて説明すると
規則的に並んだ文字列をパターン化し、それを記号で表現したもの
と言ったところでしょうか。
特にどんな時に活躍するのかと言うと、文字列の置換や検索、さらにフォーム等に入力された文字のチェックをしたい時。
今回はその「フォーム等に入力された文字のチェック」に役立つ正規表現を集めてみました。
数値編・全て数値かどうか(全角でも半角でもOK)
/^¥d+$/
・全て半角の数値かどうか
/^[0-9]+$/
・全て整数かどうか(マイナス、小数点使用可 & 全角でも半角でもOK)
/^[-]?¥d+(¥.¥d+)?$/
・全て半角の整数かどうか
/^[-]?[0-9]+(¥.[0-9]+)?$/
文字編・全て半角アルファベットかどうか(大文字でも小文字でもOK)
/^[a-zA-z¥s]+$/
・全て半角アルファベット、または数値かどうか
/^[a-zA-Z0-9]+$/
・全て全角ひらがな、またはカタカナかどうか
/^[ぁ-んァ-ン]+$/
・全て全角ひらがなかどうか
/^[ぁ-ん]+$/
・全て全角カタカナかどうか
/^[ァ-ン]+$/
・全て半角カタカナかどうか
/^[ァ-ン゙゚]+$/
その他(いろんな表記方法があるので解説付き)・正しいメールアドレスかどうか
/^([a-zA-Z0-9_¥.¥-])+¥@(([a-zA-Z0-9¥-])+¥.)+([a-zA-Z0-9]{2,4})+$/
/^([a-zA-Z0-9])+([a-zA-Z0-9¥._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9¥._-]+)+$/
/^[A-Za-z0-9]+[¥w-]+@[¥w¥.-]+¥.¥w{2,}$/
/^[¥w_-]+@[¥w¥.-]+¥.¥w{2,}$/
【 解説 】
1番上:@前は「英数字_-.」使用可、@後ひとつ以上の「.」があるか、「.」で終わっていないか
2番目:@前は「英数字_-.」使用可、@後は2文字以上入力されているか否か
3番目:@前は「英数字_-」使用可、@後ひとつ以上の「.」があるか、「.」で終わっていないか
4番目:@前は「英数字_-」使用可、@後ひとつ以上の「.」があるか、「.」の後に2文字以上英数字が入っているか否か
・正しいURLかどうか
/^(http|ftp):¥/¥/.+$/
/^(https?|ftp)(:¥/¥/[-_.!~*¥'()a-zA-Z0-9;¥/?:¥@&=+¥$,%#]+)$/
【 解説 】
1番上:「http、ftp」対応。「://」の後1文字以上入っているか否か
2番目:「http、https、ftp」対応。「://」の後1文字以上の英数字(記号含む)が入っているか否か
・正しい郵便番号かどうか
/^¥d{3}-¥d{4}$|^¥d{3}-¥d{2}$|^¥d{3}$/
/^¥d{3}¥-¥d{4}$/
【 解説 】
1番上:対応形式「XXX-XXXX、XXX-XX、XXX」
2番目:対応形式「XXX-XXXX」
・正しい携帯番号かどうか
/^¥d{3}-¥d{4}-¥d{4}$|^¥d{11}$/
/^0¥d0-¥d{4}-¥d{4}$/
【 解説 】
1番上:対応形式「XXX-XXXX-XXXX、XXXXXXXXXXX(11桁)」
2番目:対応形式「0X0-XXXX-XXXX」
・正しい電話番号かどうか
/^[0-9-]{6,9}$|^[0-9-]{12}$/
/^¥d{1,4}-¥d{4}$|^¥d{2,5}-¥d{1,4}-¥d{4}$/
【 解説 】
1番上:対応形式「-」なしの6〜9桁、「-」ありの時は12桁以下であるか否か
2番目:対応形式「(1〜4桁)-XXXX、(2〜5桁)-(1〜4桁)-XXXX」
(市外局番からと市外局番からでは「-」の位置が違うのでチェックは難しい)
・正しい時刻か否か
/^([01]?[0-9]|2[0-3]):([0-5][0-9])$/
・正しいクレジットカードナンバー否か
/^((4¥d{3})|(5[1-5]¥d{2})|(6011))([- ])?¥d{4}([- ])?¥d{4}([- ])?¥d{4}|3[4,7]¥d{13}$/
(VISA, MasterCard, American Express のフォーマットに対応)
ちなみにフラグはつけてません。
必要な方はお付けくださいませ。
▼ 参考サイト
phpspothttp://phpspot.net/php/pg%82o%82g%82o%81%95%90%B3%8BK%95%5C%8C%BB.html
OpenSpacehttp://www.openspc2.org/reibun/javascript/#25
