はじめに
jsのバリデーションをまとめました。
随時思いついたら追加していこうと思います。
半角英数字のみ
if (!value.match(/^[A-Za-z0-9]*$/)) {
error = '半角英数字のみで入力してください。'
}
全角カタカナのみ
if (!value.match(/^[ァ-ヶー]+$/)) {
error = '全角カタカナで入力してください'
}
半角英字と数字 両方含む8桁以上16桁以下
if (value.length > 16 || value.length < 8 || !/^(?=.*?[a-z])(?=.*?\d)[a-z\d]{8,16}$/.test(value)) {
error = '半角英数8桁以上16桁以下で入力してください。'
}
英数字と記号 必ず両方含まなければならない
if (!value.match(/^(?=.*?[a-z\d])(?=.*?[!-\/:-@[-`{-~])[!-~]{8,16}$/)) {
error = '記号を含んだ半角英数8桁以上16桁以下で入力してください。'
}
半角英数記号全て含む8桁以上16桁以下
if (value.length > 16 || value.length < 8 || !/^(?=.*?[a-z])(?=.*?[\d])(?=.*?[!-\/:-@[-`{-~])[!-~]{8,16}$/.test(value)) {
error = '半角英数記号8桁以上16桁以下で入力してください。'
}
漢字、ひらがな、カタカナ、全角英字、全角数値のいずれか
if (!(value.match(/^[\u30a0-\u30ff\u3040-\u309f\u3005-\u3006\u30e0-\u9fcf]+$/) ||
value.match(/[!-\uff5e]/g)) {
error = '漢字、ひらがな、カタカナ、全角英字、全角数値のいずれかを入力してください'
}
数値の桁数(11桁以内)
if (!value.match(/^\d{10}$|^\d{11}$/)) {
error = '半角数字11桁以内で入力してください。'
}
メールアドレスの形式のみ
if (!value.match(/.+@.+\..+/)) {
error = 'メールアドレスの形式が間違っています。'
}
URLの形式のみ
if (!value.match(/^(http|https):\/\//i)) {
error = 'URLの形式が間違っています。'
}