[PR] 不動産担保ローン そのまま使える正規表現集 for regExp (javascript) | 素人ときどき玄人
<< ショートカットキー for タブブラウザー | main | ツールを使って正規表現を学ぼう! >>
スポンサーサイト
この広告は45日以上更新がないブログに表示されております。
新しい記事を書くことで広告を消すことができます。
カテゴリ:- | | - | - | -
そのまま使える正規表現集 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(6) | trackbacks(0) | -
スポンサーサイト
カテゴリ:- | 15:50 | - | - | -
コメント
勝手に解説さま

BLOGの文字コードの問題で円記号に確かになってますね。
コピペするとバックスラッシュになるので気に留めていませんでした。
解説、ありがとうございます。

| 素人ときどき玄人 | 2013/05/22 9:46 PM |
phpspotの物は
>/^(http|ftp):¥/¥/.+$/
この中の¥記号がUnicodeで言う所の0x005C(バックスラッシュ)なのですが、
このサイトにあるものは0x00A5(円記号)となっており、
そこで同じ様に見えて実行をしても、失敗する結果となっているのだと思います。

まぁblogが勝手に変換してたりする場合もあるので、
円記号をバックスラッシュに打ち直してやると解決する問題です。
| 勝手に解説 | 2013/05/21 2:13 PM |
name様

phpspotさんに書いてあるものと同じですよ。
メソッドの中で使用する場合は''などを使って囲む必要がありますが、ここでは正規表現の部分のみ抜粋して記載しています。
| 素人ときどき玄人 | 2013/05/10 12:21 AM |
urlチェックについて
phpspotに書いてあるものと
ここに書いてある物と
違いますが、それをponyo様はご指摘して頂いているのでは?

ご自身でテストしてから記載したほうがよろしいのでは。。。?
| name | 2013/05/08 11:04 AM |
動きませんか??
実際に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