[PR] 不動産担保ローン そのまま使える正規表現集 for regExp (javascript) | 素人ときどき玄人
<< ショートカットキー for タブブラウザー | main | ツールを使って正規表現を学ぼう! >>
そのまま使える正規表現集 for regExp (javascript)
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 のフォーマットに対応)


ちなみにフラグはつけてません。
必要な方はお付けくださいませ。


▼ 参考サイト
右斜め下 phpspot
http://phpspot.net/php/pg%82o%82g%82o%81%95%90%B3%8BK%95%5C%8C%BB.html

右斜め下 OpenSpace
http://www.openspc2.org/reibun/javascript/#25
カテゴリ:正規表現 | 15:50 | comments(2) | trackbacks(0) |
コメント
動きませんか??
実際にPHPで使用している例がこちら↓にあります。参考にどうぞ。

▼phpspot(正規表現:正しいURLかどうか調べる)
http://phpspot.net/php/pg%90%B3%8BK%95%5C%8C%BB%81F%90%B3%82%B5%82 %A2%82t%82q%82k%82%A9%82%C7%82%A4%82%A9%92%B2%82%D7%82%E9.html
| 素人ときどき玄人 | 2009/09/01 7:13 PM |
>/^(https?|ftp)(:¥/¥/[-_.!~*¥'()a-zA-Z0-9;¥/?:¥@&=+¥$,%#]+)$/

これ動きませんけど・・・・
| ponyo | 2009/08/19 5:40 AM |
コメントする









この記事のトラックバックURL
http://befine.jugem.jp/trackback/29
トラックバック