当我尝试强制用户将数据输入到文本输入时,我遇到了麻烦。我需要做一些像Windows中的IP地址输入。
我想通过破折号分割文本输入 10 - 10 - 10 - 10
有没有办法做到这一点?
答案 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”更改为其他内容即可。