0

入力タイプに小数と数字のみを使用したいので、jqueryを使用していますが、問題は彼がより多くの小数を取っていることです????? 12345.12245.4554 では
なく、123.1245454 が好きです。

$('#edit-discount').keyup(function() {
        var $th = $(this);
        $th.val($th.val().replace(/[^0-9.]/g, function(str) {
            $("#req-productdis").hide();
            $("#alpha1").show();
            return '';
        }));
4

4 に答える 4

0

これでうまくいくかどうかを確認してください。

alert(parseFloat('12345.12245.4554'));
于 2013-01-16T12:36:22.617 に答える
0

\d+\.?(\d+)?残りをすべて一致させて破棄します。

于 2013-01-16T12:33:44.527 に答える
0

10 進数の値を持つフィールドで 1 つ以上の小数点を見つける場合の回避策。回帰が見つかりません。次のコードを使用できます。

function checkDot(textVal) {
    var amount = textVal.val();
    var dots = amount.split(".").length;
    if (dots > 2) {

        return false;
    } else {
        return true;
    }
}
于 2013-01-17T11:45:25.743 に答える
0

これを試して:

var n = '12345.12245.4554';
n = n.replace(/[^0-9.]/g, ''); // trim to just numbers and dots
n = n.replace(/\./, 'x'); // note: NOT global - replaces first dot with x
n = n.replace(/\./g, ''); // note: global replace - remove all other dots
n = n.replace(/x/, '.'); // swap x back to .
alert(n);
于 2013-01-16T12:41:51.327 に答える