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/ –