web-dev-qa-db-ja.com

HTMLの文字制限

HTMLのテキスト入力に文字制限をどのように課しますか?

94
Iwasakabukiman

2つの主なソリューションがあります。

純粋なHTMLのもの:

<input type="text" id="Textbox" name="Textbox" maxlength="10" />

JavaScriptのもの(onKeyイベントに添付):

function limitText(limitField, limitNum) {
    if (limitField.value.length > limitNum) {
        limitField.value = limitField.value.substring(0, limitNum);
    } 
}

とにかく、良い解決策はありません。すべてのクライアントの悪いHTML実装に適応することはできません。勝つことは不可能です。 PHP/Python /何でもスクリプトを使用して、サーバー側で確認する方がはるかに良い理由です。

133
e-satis

maxlength属性があります

<input type="text" name="textboxname" maxlength="100" />
43
cruizer

上記に加えて、クライアント側の検証(HTMLコード、javascriptなど)では決して十分ではないことを指摘したいと思います。また、サーバー側の長さを確認するか、まったく確認しないでください(人々がそれを回避できるほど重要でない場合は、それを防ぐための手順を実際に正当化するほど重要ではありません)。

また、仲間(彼または彼女)はXHTMLではなくHTMLを言った。 ;)

12

他の人が言ったように「maxlength」属性を使用します。

テキストAREAに最大文字長を配置する必要がある場合は、Javascriptを使用する必要があります。ここを見てください: JavaScriptを使用してHTMLのtextAreaにmaxlengthを課す方法

5
nickf

<input>要素には、maxlength属性があります。

<input type="text" id="Textbox" name="Textbox" maxlength="10" />

(ちなみに、タイプは「テキスト」であり、他の人が書いている「テキストボックス」ではありません)、しかし、<textarea>でjavascriptを使用する必要があります。とにかく、サーバーで長さを確認する必要があります。

1
pilsetnieks

あなたは非常に速いjqueryでmaxlengthを設定できます

jQuery(document).ready(function($){ //fire on DOM ready
 setformfieldsize(jQuery('#comment'), 50, 'charsremain')
})
0