書式による入力制限 - テキストコントロール -

入力可能な文字種のほか、IMEモードや改行コードの取り扱い、最大文字数を設定できます。最大文字数のカウント方法は、文字単位かバイト単位かを選択できます。
※Chrome、SafariではIMEモードの設定は無効となります。

入力確認
文字種の設定
[全角]大文字のアルファベット
A[半角]大文字のアルファベット
[全角]小文字のアルファベット
a[半角]小文字のアルファベット
[全角]カタカナ(促音・拗音の小書き表記あり)
K[半角]カタカナ(促音・拗音の小書き表記あり)
[全角]カタカナ(促音・拗音の小書き表記なし)
N[半角]カタカナ(促音・拗音の小書き表記なし)
[全角]数字
9[半角]数字
[全角]数字および数字関連記号
#[半角]数字および数字関連記号
[全角]記号
@[半角]記号
[全角]2進数
B[半角]2進数
[全角]16進数
X[半角]16進数
[全角]空白文字
S[半角]空白文字
ひらがな(促音・拗音の小書き表記あり)
ひらがな(促音・拗音の小書き表記なし)
空白文字以外のすべての全角文字
^Tサロゲート ペア文字以外
空白文字以外の2バイト文字
JIS X 0208文字で構成された文字
Shift JIS文字で構成された文字
^VIVS(Ideographic Variation Sequence)文字以外
H空白文字以外のすべての半角文字
自動変換
IMEモード
改行コードの扱い
最大文字数

ソースコード

別ウィンドウで表示
using GrapeCity.Web.Input.Core;
using System;

public partial class Format_GcTextBox : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if(!IsPostBack)
        {
            GcComboBox1.SelectedIndex = 0;
            GcComboBox2.SelectedIndex = 0;
        }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        // 書式を設定します。
        string strFormat = "";
        foreach (GrapeCity.Web.Input.IMList.ListItem item in GcListBox1.CheckedItems)
        {
            strFormat += item.Text;
        }

        GcTextBox1.Format = strFormat;
        // 自動変換機能を設定します。
        GcTextBox1.AutoConvert = CheckBox1.Checked;
        // IMEモードを設定します。
        GcTextBox1.ImeMode = (ImeMode)GcComboBox1.SelectedIndex;
        // 改行コードの扱いを設定します。
        GcTextBox1.AcceptsCrLf = (CrLfMode)GcComboBox2.SelectedIndex;
        // 最大文字数および単位を設定します。
        GcTextBox1.MaxLength = (int)GcNumber1.Integer;
        GcTextBox1.LengthAsByte = bool.Parse(RadioButtonList1.SelectedValue);
    }
}

Partial Class Format_GcTextBox
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
        If Not IsPostBack Then
            GcComboBox1.SelectedIndex = 0
            GcComboBox2.SelectedIndex = 0
        End If
    End Sub

    Protected Sub Button1_Click(sender As Object, e As System.EventArgs) Handles Button1.Click
        ' 書式を設定します。
        Dim strFormat As String = ""
        For Each item As GrapeCity.Web.Input.IMList.ListItem In GcListBox1.CheckedItems
            strFormat += item.Text
        Next

        GcTextBox1.Format = strFormat
        ' 自動変換機能を設定します。
        GcTextBox1.AutoConvert = CheckBox1.Checked
        ' IMEモードを設定します。
        GcTextBox1.ImeMode = GcComboBox1.SelectedIndex
        ' 改行コードの扱いを設定します。
        GcTextBox1.AcceptsCrLf = GcComboBox2.SelectedIndex
        ' 最大文字数および単位を設定します。
        GcTextBox1.MaxLength = GcNumber1.Integer
        GcTextBox1.LengthAsByte = RadioButtonList1.SelectedValue
    End Sub

End Class

<%@ page title="" language="C#" masterpagefile="~/MasterPage.master" autoeventwireup="true" inherits="Format_GcTextBox, App_Web_fdb404xk" stylesheettheme="SkinFile" %>

<%@ Register assembly="GrapeCity.Web.Input.v100, Version=10.0.4006.2012, Culture=neutral, PublicKeyToken=c3bd7c1dccef5128" namespace="GrapeCity.Web.Input.IMEdit" tagprefix="im_edit" %>
<%@ Register assembly="GrapeCity.Web.Input.v100, Version=10.0.4006.2012, Culture=neutral, PublicKeyToken=c3bd7c1dccef5128" namespace="GrapeCity.Web.Input.IMList" tagprefix="im_list" %>
<%@ Register assembly="GrapeCity.Web.Input.v100, Version=10.0.4006.2012, Culture=neutral, PublicKeyToken=c3bd7c1dccef5128" namespace="GrapeCity.Web.Input.IMCombo" tagprefix="im_combo" %>
<%@ Register assembly="GrapeCity.Web.Input.v100, Version=10.0.4006.2012, Culture=neutral, PublicKeyToken=c3bd7c1dccef5128" namespace="GrapeCity.Web.Input.IMNumber" tagprefix="im_number" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
    <script type="text/javascript">
        // 文字種の設定
        function GcListBox1_ItemCheck(sender, eArgs) {
            if (!document.getElementById("isClient").checked) return;
            var format = "";
            var list = sender.GetCheckedItems();
            for (i = 0; i < list.length; i++) {
                format += list[i].GetText();
            }
            FindIMControl("<%=GcTextBox1.ClientID%>").SetFormat(format);
        }
        // 指定した文字に自動変換するかどうかを設定します。 
        function AutoConvert(obj) {
            if (!document.getElementById("isClient").checked) return;

            FindIMControl("<% =GcTextBox1.ClientID %>").SetAutoConvert(obj.checked);
        }
        // IMEモードを設定します。
        function GcComboBox1_SelectedIndexChanged(sender, eArgs) {
            if (!document.getElementById("isClient").checked) return;
            FindIMControl("<% =GcTextBox1.ClientID %>").SetImeMode(sender.GetSelectedItem().SubItems[1].GetValue());
        }
        // 改行コードの扱いを設定します。
        function GcComboBox2_SelectedIndexChanged(sender, eArgs) {
            if (!document.getElementById("isClient").checked) return;
            FindIMControl("<% =GcTextBox1.ClientID %>").SetAcceptsCrlf(sender.GetSelectedItem().SubItems[1].GetValue());
        }
        // 最大文字数を設定します。
        function GcNumber1_ValueChanged(sender, eArgs) {
            if (!document.getElementById("isClient").checked) return;
            FindIMControl("<% =GcTextBox1.ClientID %>").SetMaxLength(sender.GetValue());
        }
        // 最大文字数のカウント方法を設定します。
        function LengthAsByte(obj) {
            if (!document.getElementById("isClient").checked) return;
            var lengthasbyte;
            var radio = obj.getElementsByTagName("input");
            for (var i = 0; i < radio.length; ++i) {
                if (radio[i].checked) {
                    lengthasbyte = radio[i].value;
                }
            }

            FindIMControl("<% =GcTextBox1.ClientID %>").SetLengthAsByte(lengthasbyte);
        }
    </script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <div class="sample">
        <table>
            <tr>
                <th>入力確認</th>
            </tr>
            <tr>
                <td>
                   <im_edit:GcTextBox ID="GcTextBox1" runat="server" HasLoadFromXml="True" 
                        Width="300px"></im_edit:GcTextBox>
                </td>
            </tr>
        </table>
    </div>
    <label style="font-size:80%;"><input type="checkbox" id="isClient" checked="checked" /> クライアント側の設定を有効にする</label>
    <table class="inputTable">
        <tr>
            <th class="inputTh">文字種の設定</th>
            <td class="inputTd" colspan="2">
               <im_list:GcListBox ID="GcListBox1" runat="server" HasLoadFromXml="True" 
                    CheckBoxes="True" Width="380px">
                   <ClientEvents ItemCheck="GcListBox1_ItemCheck" />
                   <ListHeaderPane Visible="True" />
                   <DefaultColumn AutoWidth="True" Header-AllowResize="True" />
                   <listcolumn autowidth="True" header-text="書式"></listcolumn>
                   <listcolumn header-allowresize="True" header-text="説明"></listcolumn>
                   <listitem></listitem>
                   <subitem index="0" value="A"></subitem>
                   <subitem index="0" value="[全角]大文字のアルファベット"></subitem>
                   <listitem></listitem>
                   <subitem index="1" value="A"></subitem>
                   <subitem index="1" value="[半角]大文字のアルファベット"></subitem>
                   <listitem></listitem>
                   <subitem index="2" value="a"></subitem>
                   <subitem index="2" value="[全角]小文字のアルファベット"></subitem>
                   <listitem></listitem>
                   <subitem index="3" value="a"></subitem>
                   <subitem index="3" value="[半角]小文字のアルファベット"></subitem>
                   <listitem></listitem>
                   <subitem index="4" value="K"></subitem>
                   <subitem index="4" value="[全角]カタカナ(促音・拗音の小書き表記あり)"></subitem>
                   <listitem></listitem>
                   <subitem index="5" value="K"></subitem>
                   <subitem index="5" value="[半角]カタカナ(促音・拗音の小書き表記あり)"></subitem>
                   <listitem></listitem>
                   <subitem index="6" value="N"></subitem>
                   <subitem index="6" value="[全角]カタカナ(促音・拗音の小書き表記なし)"></subitem>
                   <listitem></listitem>
                   <subitem index="7" value="N"></subitem>
                   <subitem index="7" value="[半角]カタカナ(促音・拗音の小書き表記なし)"></subitem>
                   <listitem></listitem>
                   <subitem index="8" value="9"></subitem>
                   <subitem index="8" value="[全角]数字"></subitem>
                   <listitem></listitem>
                   <subitem index="9" value="9"></subitem>
                   <subitem index="9" value="[半角]数字"></subitem>
                   <listitem></listitem>
                   <subitem index="10" value="#"></subitem>
                   <subitem index="10" value="[全角]数字および数字関連記号"></subitem>
                   <listitem></listitem>
                   <subitem index="11" value="#"></subitem>
                   <subitem index="11" value="[半角]数字および数字関連記号"></subitem>
                   <listitem></listitem>
                   <subitem index="12" value="@"></subitem>
                   <subitem index="12" value="[全角]記号"></subitem>
                   <listitem></listitem>
                   <subitem index="13" value="@"></subitem>
                   <subitem index="13" value="[半角]記号"></subitem>
                   <listitem></listitem>
                   <subitem index="14" value="B"></subitem>
                   <subitem index="14" value="[全角]2進数"></subitem>
                   <listitem></listitem>
                   <subitem index="15" value="B"></subitem>
                   <subitem index="15" value="[半角]2進数"></subitem>
                   <listitem></listitem>
                   <subitem index="16" value="X"></subitem>
                   <subitem index="16" value="[全角]16進数"></subitem>
                   <listitem></listitem>
                   <subitem index="17" value="X"></subitem>
                   <subitem index="17" value="[半角]16進数"></subitem>
                   <listitem></listitem>
                   <subitem index="18" value="S"></subitem>
                   <subitem index="18" value="[全角]空白文字"></subitem>
                   <listitem></listitem>
                   <subitem index="19" value="S"></subitem>
                   <subitem index="19" value="[半角]空白文字"></subitem>
                   <listitem></listitem>
                   <subitem index="20" value="J"></subitem>
                   <subitem index="20" value="ひらがな(促音・拗音の小書き表記あり)"></subitem>
                   <listitem></listitem>
                   <subitem index="21" value="G"></subitem>
                   <subitem index="21" value="ひらがな(促音・拗音の小書き表記なし)"></subitem>
                   <listitem></listitem>
                   <subitem index="22" value="Z"></subitem>
                   <subitem index="22" value="空白文字以外のすべての全角文字"></subitem>
                   <listitem></listitem>
                   <subitem index="23" value="^T"></subitem>
                   <subitem index="23" value="サロゲート ペア文字以外"></subitem>
                   <listitem></listitem>
                   <subitem index="24" value="D"></subitem>
                   <subitem index="24" value="空白文字以外の2バイト文字"></subitem>
                   <listitem></listitem>
                   <subitem index="25" value="I"></subitem>
                   <subitem index="25" value="JIS X 0208文字で構成された文字"></subitem>
                   <listitem></listitem>
                   <subitem index="26" value="M"></subitem>
                   <subitem index="26" value="Shift JIS文字で構成された文字"></subitem>
                   <listitem></listitem>
                   <subitem index="27" value="^V"></subitem>
                   <subitem index="27" value="IVS(Ideographic Variation Sequence)文字以外"></subitem>
                   <listitem></listitem>
                   <subitem index="28" value="H"></subitem>
                   <subitem index="28" value="空白文字以外のすべての半角文字"></subitem>
                   <helpvalue ></helpvalue>
                </im_list:GcListBox>
            </td>
        </tr>
        <tr>
            <th class="inputTh">自動変換</th>
            <td class="inputTd" colspan="2">
                <asp:CheckBox ID="CheckBox1" runat="server" Checked="True" Text="指定した文字にあわせて自動的に変換する" onclick="AutoConvert(this);" />
            </td>
        </tr>
        <tr>
            <th class="inputTh">IMEモード</th>
            <td colspan="2" class="inputTd">
                <im_combo:GcComboBox ID="GcComboBox1" runat="server" 
                    DropDownStyle="DropDownList" HasLoadFromXml="True" Width="200px">
                    <clientevents selectedindexchanged="GcComboBox1_SelectedIndexChanged"></clientevents>
                    <comboitem></comboitem>
                    <subitem index="0" value="設定なし"></subitem>
                    <subitem index="0" value="auto"></subitem>
                    <comboitem></comboitem>
                    <subitem index="1" value="日本語入力"></subitem>
                    <subitem index="1" value="active"></subitem>
                    <comboitem></comboitem>
                    <subitem index="2" value="半角英数入力"></subitem>
                    <subitem index="2" value="inactive"></subitem>
                    <comboitem></comboitem>
                    <subitem index="3" value="使用不可"></subitem>
                    <subitem index="3" value="disabled"></subitem>
                    <helpvalue ></helpvalue>
                </im_combo:GcComboBox>
            </td>
        </tr>
        <tr>
            <th class="inputTh">改行コードの扱い</th>
            <td colspan="2" class="inputTd">
                <im_combo:GcComboBox ID="GcComboBox2" runat="server" HasLoadFromXml="True" 
                    DropDownStyle="DropDownList" Width="200px"><clientevents selectedindexchanged="GcComboBox2_SelectedIndexChanged"></clientevents>
                    <ListBox width="220" />
                    <comboitem></comboitem>
                    <subitem index="0" value="そのまま使用"></subitem>
                    <subitem index="0" value="nocontrol"></subitem>
                    <comboitem></comboitem>
                    <subitem index="1" value="すべての改行コードを削除"></subitem>
                    <subitem index="1" value="filter"></subitem>
                    <comboitem></comboitem>
                    <subitem index="2" value="改行コード以降の文字列を切り取り"></subitem>
                    <subitem index="2" value="cut"></subitem>
                    <helpvalue ></helpvalue>
                </im_combo:GcComboBox>
            </td>
        </tr>
        <tr>
            <th class="inputTh">最大文字数</th>
            <td class="inputTd" style="border-right:0; width:100px;">
                <im_number:GcNumber ID="GcNumber1" runat="server" HasLoadFromXml="True" 
                    MinValue="0" Width="80px">
                    <clientevents valuechanged="GcNumber1_ValueChanged"></clientevents>
                    <DropDown Visible="False" Enabled="false"/><Spin Visible="True" />
                    <helpvalue value = "0" ></helpvalue>
                </im_number:GcNumber>
            </td>
            <td class="inputTd" style="border-left:0">
                <asp:RadioButtonList ID="RadioButtonList1" runat="server" 
                        RepeatDirection="Horizontal" CellPadding="2" 
                        CellSpacing="2" onchange="LengthAsByte(this);">
                    <asp:ListItem Selected="True" Value="false"> 文字単位 </asp:ListItem>
                    <asp:ListItem Value="true"> バイト単位 </asp:ListItem>
                </asp:RadioButtonList>
            </td>
        </tr>
    </table>
    <center>
        <asp:Button ID="Button1" runat="server" CssClass="button_nowidth" Text="サーバー側で設定" 
            onclick="Button1_Click" />
    </center>
</asp:Content>


このページの先頭へ戻る