0

form に textarea があり、javascript を使用してその値を変更したいと考えています。制約は次のとおりです。

  • すべての「,」または「.」の後 空きスペースを追加したい。
  • 「。」の場合 数字の間にあります(2.3のように)空のスペースを追加しないでください。

このコードを試してみましたが、ブラウザが数秒間ブロックされます...

$('#edit-body').bind('input propertychange', function()
{
    var numbers = ["0","1","2","3","4","5","6","7","8","9"];
    var arr = $(this).val().split('');
    var news;
    for (var i = 0; i < arr.length ; i++)
    {
        if (arr[i] == "." || arr[i] == ",")
        {    

            if (numbers.indexOf(arr[i-1]) <0 && numbers.indexOf(arr[i+1]) < 0)
            {
                if (arr[i+1] != ' '){
                    arr.splice(i, 0, ' ');
                }
            }
        }
    }
    console.log(arr.toString());
    $(this).val(arr.toString());   
});

ここで私を助けてください...

4

1 に答える 1

0

jsFiddle デモ

var prevCode = 0;
$('#testing').keypress(function (e) {
    $('#kC').val(e.keyCode);
    $('#pC').val(prevCode);
    if ((prevCode == 44 || prevCode == 46) && (e.keyCode < 49 || e.keyCode > 57)) {
        var txtCurr = $('#testing').val();
        var lenCurr = txtCurr.length;
        var txtNew = txtCurr.substr(0,lenCurr);
        $('#testing').val(txtNew + " ");
    }
    prevCode = e.keyCode;
});
于 2013-08-03T14:48:50.853 に答える