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

标签 javascript jquery html input split

当我尝试强制用户在文本输入中输入数据时遇到麻烦。我需要做类似在 Windows 中输入 IP 地址的操作。 Ip Adress Input

我想用类似这样的破折号来分割文本输入 10 - 10 - 10 - 10

有什么办法可以做到这一点吗?

最佳答案

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”更改为其他内容即可。

关于javascript - 将输入文本拆分为单独的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30577848/

相关文章:

javascript - 裁剪时图像居中问题

javascript - 将内容插入 DOM

javascript - 使用 $.load 替换 div 中的 HTML

html - 如何在不使用不良做法的情况下内联 H2 和 HR 标签?

css - 列表项的交替颜色列表

Javascript 变量不更新它的值

javascript - 对于定义低于其使用的函数,出现错误 ReferenceError

javascript - AJAX 刷新延迟/不一致

javascript - 自定义验证似乎没有注册

html - HTML 伪列周围的边框