jQuery:将字符串中的单词拆分为带有限制的较小字符串

时间:2015-08-11 17:06:25

标签: jquery string

我有2个地址输入,最大长度为40(数据库无法修改),我希望用户能够输入一个长40+的字符串然后分割字符串,如果它长于40个字符并添加剩下的 WORDS 进入下一个字段。这样的事情。

var Address = "This is a test address, split it, then this goes into the other input";
var Address1 = "This is a test address, split it, then";
var Address2 = "this goes into the other input';

因此,不是将其切片,而是将所有占据少于40个字符的单词分开,并将其余单词添加到第二个输入中。

我一直把第二个输入集中在限制上,但它完全像拼接一样,这就是我现在所拥有的

$('#Address1').on('change keyup keydown', function()
{
    if($(this).length >= 40)
    {
        $('#Address1').focus();
    }
});

1 个答案:

答案 0 :(得分:0)

经过一番思考和一些甜甜圈,我想出来了

$('input[name=Address1]').on('change', function()
{
    var i = "";
    var o = "";
    var u = "";
    var words = $(this).val().split(/ +/);
    $.each(words, function(index, value)
    {
        u += value + " ";
        if(u.length <= 40)
        {
            i += value + " ";
        }
        else
        {
            o += value + " ";
        }
    });
    i = i.replace(/\s*$/,"");
    o = o.replace(/\s*$/,"");
    $('input[name=Address1]').val(i);
    $('input[name=Address2]').val(o);
});