Blogブログ

Category: regular expression

Javascriptで正規表現のまとめ【応用編】

ここでは実際のケースで使えそうなものをまとめる。 メールアドレス 定義 アカウント名@ドメイン名 .+@.+ アカウント名の先頭は半角英数字 ^[a-zA-Z0-9] アカウント名のに文字目以降は半角英数字または.-_のいづれか 1文字のみの場合も考慮して*をつける [a-zA-Z0-9.-_]* ドメイン名の先頭は半角英数字 [a-zA-Z0-9] ドメイン名のに文字目以降は半角英数字または.-_のいづれか [a-zA-Z0-9.-_]+ ドメイン名は必ず.を含め、かつ.で終わらない [a-zA-Z0-9][a-zA-Z0-9\.-_]+\.[a-zA-Z]{2,}$ これを組み合わせると、 var regexp = /^[a-zA-Z0-9][a-zA-Z0-9\.-_]*@[a-zA-Z0-9][a-zA-Z0-9\.-_]+\.[a-zA-Z]{2,}$/; console.log(regexp.test(‘hoge@fuga.com’)) console.log(regexp.test(‘@fuga.com’)) console.log(regexp.test(‘_h.o.g.e@f-uga.com’)) console.log(regexp.test(‘ho._gr..e@fuga.com’)) console.log(regexp.test(‘ho._gr..e@fuga’)) console.log(regexp.test(‘ho._gr..e@fuga.hoge.jp’)) ただし! メルアドについて完璧な正規表現は無いと言われている。 html5のinput[type=email]でさえ、電子メールの構文を定義するRFC5322対して意図的に違反する仕様となっている。つまり、無理ゲーってこと。 ちなみにHMTL5のinput[type=email]で動くバリデーションはこう。 ^[a-zA-Z0-9\.!#$%&’*+/=?^_'{|}~-]+@[a-zA-Z0-9]+(?:\.[a-zA-Z0-9-]+)*$ 実務では、HMTL5準拠のバリデーションてことで上に従えばよさそうかな。 電話番号 条件 0から始まり、10-11桁 ^0\d[9,10]$ なので、 var regexp = /^0\d{9,10}$/; console.log(regexp.test(‘09088883333’)); console.log(regexp.test(‘79088883333’)); ハイフンを含める場合は、 var regexp = /^0\d{1,3}-\d{3,4}-\d{3,4}$/; console.log(regexp.test(‘79088883333’)); console.log(regexp.test(‘090-8888-3333’)); URL http, httpsで始まる :// […]

sublime text 正規表現

ex 1. "1", "22" "2234", "34" "3234", "34" "4234", "34" "5234", "34" ↓ ("1234", "22"), ("2234", "34"), ("3234", "34"), ("4234", "34"), ("5234", "34"), Find what : "(\d+)", "(\d+)" Replace with : ("($1)","($2)"), ex 2. ("1441","2"), ("1487","2"), ↓ (1441,"2"), (1487,"2"), Find what : \("(\d+)" Replace with : ($1 ex 3. (1441,"2"), (1487,"2"), ↓ (1441,2), (1487,2), Find […]