emailのドメインに関するバリデーションを作成しています。
ドメイン一覧
xxx.co.jp
xxx.com
xxx-xxx.co.jp
xxx-xxx.com
上記のドメインを基本的に許可するような正規表現を作成しました。
正規表現は下記の通りです。
js
1/^[A-Za-z0-9]{1}[A-Za-z0-9-.]{1,}[A-Za-z0-9_.-]{1,}[A-Za-z]{1}$/
上記4つのドメインは問題なく通るのですがなぜか下記の文字列も通ってしまいます。
js
1xx\-xxx.com
正規表現ないでバックスラッシュを指定していないのにバックスラッシュが許可されているのが謎です。
何が問題なのか教えていただけるとありがたいです。
「javascript 正規表現 バックスラッシュ」で検索してみましたが、特殊文字の取り扱いについて言及されているものばかりでした。
すみませんがよろしくお願いします。
上記のドメイン(xx-xxx.com)が通ってしまう判断をした方法
googleの検証ツール→コンソール
js
1re = /^[A-Za-z0-9]{1}[A-Za-z0-9-.]{1,}[A-Za-z0-9_.-]{1,}[A-Za-z]{1}$/ 2re.test('xx\-xxx.com') 3 4// < true
回答1件
あなたの回答
tips
プレビュー