今回はForm用の正規表現を書いていこうかなと思います。
1つ1つ説明していると長くなるので、分からないところは自分なりに調べてみてください。
それでは早速やっていきます。
#空白が無いか#
入力フォームでまず確認すべきことは空欄が無いか
これだけは関数として書きます。
validateRequiredInput(...args) {
// 入力フォームで空欄が無いかの確認
let isBlank = false
for (let i = 0; i < args.length; i = (i + 1) | 0) {
if (!args[i] || args[i] === '') {
isBlank = true
}
}
return isBlank
},
...args
で引数を何個でも受け取れるようにしています。
#メールアドレス#
const regex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/
regex.test(email)
#住所#
##都道府県##
const regex = /^[一-龥]+$/
return regex.test(prefecture)
漢字で制御
##市区町村##
const regex = /^[ぁ-んァ-ン一-龥]+$/
return regex.test(city)
ひらがな、カタカナ、漢字で制御
日本にはカタカナの市があるらしい。
興味深かったので一応載せておきます(笑)。
・山梨県南アルプス市
軽く調べたぐらいなので、もっとあるかも。
##番地##
const regex = /[0-9]+(-|ー)[0-9]+(-|ー)[0-9]/
return regex.test(number)
ちなみに最大桁数は「静岡県浜松市西区篠原町」の27409
だそうです。
##郵便番号##
// ハイフンなし
const regex = /[0-9]{7}/
// ハイフンあり
const regex = /[0-9]{3}(-|ー)[0-9]{4}/
return regex.test(code)
#電話番号#
// ハイフンなし
const regex = /^0[789]0[0-9]{4}[0-9]{4}$/
// ハイフンあり
const regex = /^0[789]0-[0-9]{4}-[0-9]{4}$/
return regex.test(number)
#クレジットカード#
##番号##
やり方は電話番号とほぼ一緒
// ハイフンなし
const regex = /[0-9]{4}[0-9]{4}[0-9]{4}[0-9]{4}$/
// ハイフンあり
const regex = /[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{4}$/
return regex.test(number)
セキュリティコードも同じようにやってあげればいいので割愛します。
##名義##
const regex = /^[A-Z]+\s[A-Z]+$/
return regex.test(name)
大文字のみを適用
\s
は半角スペースを表している
とりあえず今回はこんなところで終わりにします。
変更があれば随時更新していきます。