将输入文本拆分为单独的字段

时间:2015-06-01 15:50:30

标签: javascript jquery html5 input split

当我尝试强制用户将数据输入到文本输入时,我遇到了麻烦。我需要做一些像Windows中的IP地址输入。 Ip Adress Input

我想通过破折号分割文本输入 10 - 10 - 10 - 10

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:4)

http://jsfiddle.net/87dug9oa/1/

function check(text) {
    var result = [];
    text = text.replace(/[^\d]/g,"");
    while (text.length >= 3) {
        result.push(text.substring(0, 3));
        text = text.substring(3);
    }
    if(text.length > 0) result.push(text);
    $("#ip").val(result.join("-"));
}

$("#ip").on("keyup", function() {
    check($(this).val());
});

这会创建一个函数,一旦添加了3个字符,就会添加破折号(第四个字符被写入)。

现在,这确实可以做你想要的,但你需要添加一些额外的东西,比如检查长度和使删除部分工作(因为当你按任意键时,它会改变输入的值,这将使插入符号移动到最后一个字符。)

哦,我差点忘了。当然,这可以更改为您选择的长度。只需将“3”更改为其他内容即可。