JSFiddle - React, Tailwind, and code Playground

HTML

<a href="http://jckim0414.com/javascript-japanese-imeinput-method-editor-control-v-0-0-1/"/>Javascript Japanese IME(Input Method Editor) Control V.0.0.1</a>

    <br/>
    <br/>

    <div style="float:left;">
        <input id="input"></input>
        <button id="run">RUN</button>
    </div>

    <br/>
    <br/>

    <table style="float:left;">
        <tr>
            <th style="width:200px;">METHOD</th>
            <th style="width:100px;">RESULT</th>
        </tr>

        <tr>
            <td>isNumeric</td>
            <td id="isNumeric"></td>
        </tr>

        <tr>
            <td>isNumericWithFull</td>
            <td id="isNumericWithFull"></td>
        </tr>

        <tr>
            <td>isAlpha</td>
            <td id="isAlpha"></td>
        </tr>

        <tr>
            <td>isAlphaWithFull</td>
            <td id="isAlphaWithFull"></td>
        </tr>

        <tr>
            <td>isAlphaNumeric</td>
            <td id="isAlphaNumeric"></td>
        </tr>

        <tr>
            <td>isAlphaNumericWithFull</td>
            <td id="isAlphaNumericWithFull"></td>
        </tr>

        <tr>
            <td>isKanji</td>
            <td id="isKanji"></td>
        </tr>

        <tr>
            <td>isHiragana</td>
            <td id="isHiragana"></td>
        </tr>

        <tr>
            <td>isKatakana</td>
            <td id="isKatakana"></td>
        </tr>

        <tr>
            <td>isKatakanaHalf</td>
            <td id="isKatakanaHalf"></td>
        </tr>

        <tr>
            <td>isKatakanaWithHalf</td>
            <td id="isKatakanaWithHalf"></td>
        </tr>

        <tr>
            <td>isKana</td>
            <td id="isKana"></td>
        </tr>

        <tr>
            <td>isKanaWithHalf</td>
            <td id="isKanaWithHalf"></td>
        </tr>

        <tr>
            <td>isKanjiKana</td>
            <td id="isKanjiKana"></td>
        </tr>

        <tr>
            <td>isKanjiKanaWithHalf</td>
            <td...

CSS

table, table tr, table tr td {
    border: 1px solid black;
}

JavaScript

var JcRegExp = function () {
            // unicode range is referenced by http://www.unicode.org/charts/

            // Numeric
            //   \u0030-\u0039  -----  u0030:0  u0039:9
            // FullWidth Numeric
            //   \uFF10-\uFF19  -----  uFF10:0 uFF19:9

            // Alphabet Uppercase
            //   \u0041-\u005A  -----  u0041:A  u005A:Z
            // Alphabet Lowercase
            //   \u0061-\u007A  -----  u0061:a  u007A:z
            // FullWidth Alphabet Uppercase
            //   \uFF21-\uFF3A  -----  uFF21:A uFF3A:Z
            // FullWidth Alphabet Lowercase
            //   \uFF41-\uFF5A  -----  uFF41:a uFF5A:a

            // kanji
            //   \u4E00-\u9FAF  -----  u4E00:一 u9FAF:龯
            // Hiragana
            //   \u3041-\u3096  -----  u3041:ぁ u3096:ゖ
            // Katakana
            //   \u30A1-\u30FF  -----  u30A1:ァ u30FF:ヿ
            // Katakana Phonetic Extensions
            //   \u31F0-\u31FF  -----  u31F0:ㇰ u31FF:ㇿ
            // Katakana Halfwidth
            //   \uFF66-\uFF9F  -----  uFF66:ヲ  uFF9F:゚

            this.reNumeric = /[\u0030-\u0039]/g;
            this.reNumericFull = /[\uFF10-\uFF19]/g;

            this.reAlpha = /[\u0041-\u005A|\u0061-\u007A]/g;
            this.reAlphaFull = /[\uFF21-\uFF3A|\uFF41-\uFF5A]/g;

            this.reAlphaNumeric = /[\u0030-\u0039|\u0041-\u005A|\u0061-\u007A]/g;
            this.reAlphaNumericFull = /[\uFF10-\uFF19|\uFF21-\uFF3A|\uFF41-\uFF5A]/g;

            this.reKanji = /[\u4E00-\u9FAF]/g;
            this.reHiragana = /[\u3041-\u3096]/g;
            this.reKatakana = /[\u30A1-\u31FF]/g;
            this.reKatakanaHalf = /[\uFF66-\uFF9F]/g;
            this.reKatakanaWithHalf = /[\u30A1-\u31FF|\uFF66-\uFF9F]/g;
            this.reKana = /[\u3041-\u3096|\u30A1-\u31FF]/g;
            this.reKanaWithHalf = /[\u3041-\u3096|\u30A1-\u31FF|\uFF66-\uFF9F]/g

            this.reKanjiKana = /[\u4E00-\u9FAF|\u3041-\u3096|\u30A1-\u31FF]/g;
           ...