18.01.25


快捷鍵

  • 加粗 Ctrl + B
  • 斜體 Ctrl + I
  • 引用 Ctrl + Q
  • 插入鏈接 Ctrl + L
  • 插入代碼 Ctrl + K
  • 插入圖片 Ctrl + G
  • 提升標題 Ctrl + H
  • 有序列表 Ctrl + O
  • 無序列表 Ctrl + U
  • 橫線 Ctrl + R
  • 撤銷 Ctrl + Z
  • 重做 Ctrl + Y

【JavaScript】全角・半角文字列の正規表現チェックまとめ(ひらがな/カタカナ/漢字・英數字)

/**
 文字列チェック
 @param  input    String  チェック対象文字列
 @param  charType String  チェック種別
                           ・"zenkaku"               : 全角文字(ひらがな・カタカナ・漢字 etc.)
                           ・"hiragana"              : 全角ひらがな
                           ・"katakana"              : 全角カタカナ
                           ・"alphanumeric"          : 半角英數字(大文字・小文字)
                           ・"numeric"               : 半角數字
                           ・"alphabetic"            : 半角英字(大文字・小文字)
                           ・"upper-alphabetic"      : 半角英字(大文字のみ)
                           ・"lower-alphabetic"      : 半角英字(小文字のみ)
 @return Boolean チェック結果OKかどうか 
                 true  : チェックOK(引數に指定した種別の文字列のみで構成されている)
                 false : チェックNG(引數に指定した種別以外の文字列が含まれている)
 */
function checkCharType(input, charType) {
    switch (charType) {
        // 全角文字(ひらがな・カタカナ・漢字 etc.)
        case "zenkaku":
            return (input.match(/^[^\x01-\x7E\xA1-\xDF]+$/)) ? true : false;
        // 全角ひらがな
        case "hiragana":
            return (input.match(/^[\u3041-\u3096]+$/)) ? true : false;
        // 全角カタカナ
        case "katakana":
            return (input.match(/^[\u30a1-\u30f6]+$/)) ? true : false;
        // 半角英數字(大文字・小文字)
        case "alphanumeric":
            return (input.match(/^[0-9a-zA-Z]+$/)) ? true : false;
        // 半角數字
        case "numeric":
            return (input.match(/^[0-9]+$/)) ? true : false;
        // 半角英字(大文字・小文字)
        case "alphabetic":
            return (input.match(/^[a-zA-Z]+$/)) ? true : false;
        // 半角英字(大文字のみ)
        case "upper-alphabetic":
            return (input.match(/^[A-Z]+$/)) ? true : false;
        // 半角英字(小文字のみ)
        case "lower-alphabetic":
            return (input.match(/^[a-z]+$/)) ? true : false;
    }
    return false;
}

“zenkaku”(全角)の正規表現『^\x01-\x7E』の部分は、つまり『1バイト文字ではないものを探す』って意味ですね。
( [ ](ブラケット)內の “^”(カレット)は”否定”を表す。)

これだけですと半角カナもマッチしてしまうため(半角カナは1バイト以外に該當)、半角カナの文字コード範囲を表す正規表現『\xA1-\xDF』も指定に含めています。

頻繁に全角文字のチェック方法で判斷に迷っていた気がする。。。
のでしたが、上記のように正規表現で文字コード範囲を使用する方法が、個人的にはチェック対象文字が分かりやすくて良いのではないかと思います。
※ 例えば “[ぁ-んァ-ン一-龥]” という正規表現でも全角チェックは可能ですが、これは何か微妙なんですよねぇ。。。(只の個人的好み)

問題 : 頁面文本框太大,無法調整

我的問題在於只設置了頁面寬度,但是卻使用了 table 標籤,然而 在我的設計中並沒有進行把 每行的 4 列屬性合併單元格,
我的第一行只有一個 td 需要把剩下的用colspan=”2”合併單元格

<table class="table_border_line_s">
            <tr>
                <td style="width:100%; text-align:left;" colspan="4">
                    <input type="button" value="<s:text name="BTN_INSERT"/>" οnclick="insertData()" class=btn_mouseout οnmοuseοver="this.className='btn_mouseover'" οnmοuseοut="this.className='btn_mouseout'"/>
                    &nbsp;&nbsp;
                </td>
            </tr>
            <tr>
                <!-- 荷主 -->
                <td class="list_title_bg_left_s_b" style="width:10%"><span class="text12_orange"></span>
                    <s:text name="CONST_MST0020_NNS_NM" />
                </td>
                <td class="list_data_bg_left_s_b_nr" style="width:15%" colspan="2">
                    <div>
                        <input class="easyui-combobox" name="nns_Cd" id="nns_Cd"
                         style="width:300px"
                            data-options="
                            url:'CommonAction!getNNSList?nns_Cd=${nns_Cd}&empty=true',
                            method:'get',
                            valueField:'id',
                            textField:'text',
                            panelHeight:'150'
                        " />
                    </div>
                </td>
            </tr>
            <tr>
                <!-- 得意先コード -->
                <td class="list_title_bg_left_s_b" style="width:10%"><span class="text12_orange"></span>
                    <s:text name="CONST_MST0020_TOKUI_CD" />
                </td>
                <td class="list_data_bg_left_s_b_nr" style="width:15%">
                    <input type="text" class="easyui-validatebox" id="tokui_Cd" name="tokui_Cd" value='${tokui_Cd}'/>
                </td>
                <!-- 荷受人名 -->
                <td class="list_title_bg_left_s_b" style="width:10%"><span class="text12_orange"></span>
                    <s:text name="CONST_MST0020_NIUKE_HNM" />
                </td>
                <td class="list_data_bg_left_s_b_nr" style="width:15%">
                    <input type="text" class="easyui-validatebox" id="niuke_Hnm" name="niuke_Hnm" value='${niuke_Hnm}'/>
                </td>
            </tr>
        </table>

#

<s:hidden id="nns_Cd" name="nns_Cd" value="${nns_Cd}"/>

        <input type="hidden" id="edi_Date_Fr" name="edi_Date_Fr" value="${edi_Date_Fr}" />

不寫修改sql也可修改方法

Commons-Beanutils工具詳解

BeanUtils的使用

       Beanutils工具在使用時幾乎只用到以下幾個方法,其中一個方法通常情況下都是使用匿名內部類,用來註冊日期類型轉換器,以將字符串類型的數據轉換成指定格式的日期類型。

BeanUtils.setProperty(bean, name, value):爲指定bean實例的屬性設值,等同於bean.setXXX()方法;其中bean是指你將要設置的對象,name指的是將要設置的屬性(寫成”屬性名”),value(想要設置的屬性值);

從action給jsp賦值

MST0020Model 是自己的bean

MST0020Model model = mst0020Service.getDetail(condition);
            request.setAttribute("model", model);
在頁面 ${model.XXX}

request.setAttribute("xxx", xxx);
在頁面 ${XXX}

ssh的 struts重定向到 jsp 後取值亂碼

在Struts 里加入
<action name="MST0020UpdateAction" method="updateMenu"
            class="com.l3s.slp.action.MST0020Action">
            <result name="success" type="redirectAction">
                <param name="actionName">MST0020InitAction</param>
                <param name="menuId">${#request.menuId}</param>
                <param name="nns_Cd_S">${#request.nns_Cd_S}</param>
                <param name="tokui_Cd_S">${#request.tokui_Cd_S}</param>
                <param name="niuke_Hnm_S">${#request.niuke_Hnm_S}</param>
                <param name="rows">${#request.rows}</param>
                <param name="page">${#request.page}</param>
                <param name="method">pageInit</param>
                **<param name="encode">true</param>**
            </result>
        </action>

//<param name="encode">true</param>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章