当我尝试强制用户在文本输入中输入数据时遇到麻烦。我需要做类似在 Windows 中输入 IP 地址的操作。
我想用类似这样的破折号来分割文本输入 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/