0

在表单中,我有一个 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 回答