IT業界の技術をメモ・情報公開できる

jsで使えるメールアドレスと電話番号の正規表現

登録日:2025-10-31   
JS
<メールアドレス>
const reEmail = /^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/;
function isValidEmail(email) {
return reEmail.test(String(email).trim());
}

<電話番号>
・人間向けのゆるいパターン
const rePhoneLoose = /^[+\d]?(?:[\d().\s-]{6,30})$/;
function isValidPhoneLoose(raw) {
if (!rePhoneLoose.test(raw)) return false;
// 実際は数字のみカウントして長さチェック(例:7〜15桁)
const digits = raw.replace(/\D/g, '');
return digits.length >= 7 && digits.length <= 15;
}

・グローバル推奨形式(E.164:厳格)
const reE164 = /^\+?[1-9]\d{1,14}$/;
function isValidE164(raw) {
const s = raw.trim();
return reE164.test(s);
}

・国別に厳密にチェックしたいなら(推奨ライブラリ)
Googleの libphonenumber ベースのライブラリを使うのが最も堅牢
import { parsePhoneNumberFromString } from 'libphonenumber-js';
function isValidPhoneWithLib(number, country = 'JP') {
const phoneNumber = parsePhoneNumberFromString(number, country);
return phoneNumber ? phoneNumber.isValid() : false;
}

一覧に戻る