JS 正規表現でバリデーションをかける【サンプルコード】

Javascriptで正規表現をかける場合のサンプルを作成しました。

 

サンプルコード

function regularExpression(value, name, array){
    const katakana = '\\u30a0-\\u30ff';
    const hiragana = '\\u3040-\\u309f';
    const kigou = '';
    const kanji = '\\u30e0-\\u9fcf\\u3005-\\u3006';
    const eiji = 'A-Za-z';
    const number = '0-9';
    const zenkakueiji = 'A-Za-z';
    const zenkakunumber = '0-9';
    var list = '^[';
    for(var i = 0; i < array.length; ++i){ 
      switch (array[i]) {
        case 'カタカナ':
          list += katakana;
          break;
        case 'ひらがな':
          list += hiragana;
          break;
        case '記号':
          list += kigou;
          break;
        case '漢字':
          list += kanji;
          break;
        case '半角英字':
          list += eiji;
          break;
        case '半角数字':
          list += number;
          break;
        case '全角英字':
          list += zenkakueiji;
          break;
        case '全角数字':
          list += zenkakunumber;
          break;
        case '半角英数字':
          list += eiji;
          list += number;
          break;
        case '全角英数字':
          list += zenkakueiji;
          list += zenkakunumber;
          break;
      }
    }
    list += ']+$';
    objRegex = new RegExp(list);
    if(!value.match(objRegex)){ 
        var format = array.join(',');
        return name + 'は【' + format + '】で入力してください。';
    }
    return true;
}

 

 

使用方法

第一引数には、判定する文字列。

第二引数には、判定する項目名。

第三引数には、許可するフォーマットを配列で渡します。

 

許可するフォーマットは、以下が用意してあります。

・ひらがな

・漢字

・カタカナ

・半角英字

・全角英字

・半角数字

・全角数字

・半角英数字

・全角英数字

・記号

※ 記号は、許可したい記号を定数に入力してください。

 

もし、入力値(判定する文字列)に問題がなければ、trueが返ります。

問題があれば、エラーメッセージが返ります。

 

使用例

console.log(regularExpression('検査する文字', 'サンプル' , ['ひらがな', '漢字']));

→ true

 

console.log(regularExpression('検査する文字', 'サンプル' , ['記号', '英字', '数字']));

→ サンプルは【記号,英字,数字】で入力してください。

 

コメントを残す

CAPTCHA