0
<input type="text" name="RangeText" id="rangeNum" onkeypress = "printValidation(event)" />
我想只允许在上面的打印选择文本框中的特定页面范围内的按键事件的键字符。我可以用正则表达式轻松做到这一点,但希望用户只键入有效的sccenarios!如何仅允许特定打印范围内的按键事件的字符?
我想才达到是如下面的例子:
1允许
1-2允许
-2不允许
1,2-3,图4, 5-7允许
1 2 3不允许
1-2-2不允许
这就是我目前的功能,棘手的部分似乎不允许负数开始,但允许范围内的连字符!
function printValidation(evt) {
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (!evt.shiftKey && !evt.altKey && !evt.ctrlKey && charCode >= 48 && charCode <= 57 || charCode == 188 || charCode == 109) {
alert("character accepted");
return true;
}else {
alert("illegal character detected");
return false;
}
}
有没有可能在没有进入regex的情况下做到这一点?
当你的意思是1-2允许你的意思是字符串“1-2”或两个整数1和2? –
是的,这些数字是整数,这与我们在Adobe打印PDF文件并输入特定页面或打印范围时相同! – seUser
你的意思是这样的? https://jsfiddle.net/1mhkpg7d/ –