用户必须使用内部文档编号填充输入。文档格式为00-0000(连字符后面有不同数量的字符。
可以是:00-000
OR:00-0000
OR:00-00000...0
我的问题:
如何仅在用户输入时自动插入此HYPHEN 号。
我的输入如何只接受来自用户的数字但是接受这个" - " 自动插入?
非常感谢。
答案 0 :(得分:0)
以下是您的示例:
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
$(document).delegate(".code","keydown",function(e) {
if (
$.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||
(e.keyCode == 65 && e.ctrlKey === true) ||
(e.keyCode >= 35 && e.keyCode <= 39)) {
return;
}
if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
e.preventDefault();
}
if($(e.target).val().length == 2) {
e.target.value = e.target.value + "-";
}
});
});
</script>
</head>
<body>
<input type="text" class="code" value="" />
</body>
</html>
答案 1 :(得分:0)
不使用外部库,我会将一个函数绑定到输入的onkeyup事件。该函数将根据正则表达式检查输入的值,仅允许所需的格式。如果最后一次按键与模式不匹配,则输入的值将是最后一个字符被截断。
该函数的第二个任务是在值长度等于2时立即添加连字符。
有很多关于如何在JavaScript中使用正则表达式的信息。谷歌肯定会帮助找到合适的教程。
答案 2 :(得分:0)
我不知道这是正确的解决方案,但你可以尝试一下。 HTML: -
<label>Enter Doc Number</label>
<input type="number" id="leading">
<input type="number" id="trailing">
<button onclick="getDocNumber()">DOC Numbers</button>
JavaScript的: -
function getDocNumber(){
var leading = document.getElementById('leading').value;
var trailing = document.getElementById('trailing').value;
var docNO = leading + "-" + trailing;
alert(docNO);
}