2

キーアップで値に数値以外の文字が含まれているかどうかを判断するために正規表現を使用して数量フィールドを検証しようとしましたが、何らかの理由で (テストのために他の誰かをまっすぐにコピーしたにもかかわらず)、そうではありません仕事。これが私のコードです。

HTML

<input type="text" id="quanText" maxlength="2" value="0"></input>

jQuery

$("#quanText").keyup(function(){
    $(this).val().replace(/[^\d\.]/g, '');
});

http://jsfiddle.net/PNaJt/

編集.replace(/.*/, '');また、入力するたびにフィールドを空白にするように しようとしたため、機能していないこともわかっています。

4

2 に答える 2

6

JavaScript の文字列は不変です - あなたがする必要があります

var value= $(this).val().replace(/[^\d\.]/g, '');
$(this).val(value);

replace() 関数は、置換された文字列を返します。これを「this」に戻す必要があります。

于 2013-07-11T10:57:48.247 に答える