JavaScript限制输入框只允许输入数字和符号,小数点
JavaScript限制输入框只允许输入数字和符号,小数点,不允许输入其他内容,并且输入符号后不能在前面输入数字,小数点同理。
<title>JavaScript限制输入框只允许输入数字和符号,小数点</title> <input type="text" onkeydown="return checkKeyCode(event,this)" style="ime-mode: disabled;" /> <script> function getCursorPosition(el) {//获取光标位置 if (el.selectionStart) {//IE9-或者标准浏览器 return el.selectionStart; } else if (document.selection) {//IE8-或者支持selection对象的浏览器 el.focus(); var r = document.selection.createRange(); if (r == null) { return 0; } var re = el.createTextRange(), rc = re.duplicate(); re.moveToBookmark(r.getBookmark()); rc.setEndPoint('EndToStart', re); return rc.text.length; } return 0; } function checkKeyCode(e, o) { var kc = e.keyCode; var cursorPosition = getCursorPosition(o); if (kc == 8 || kc == 36 || kc == 46 || kc == 37 || kc == 39) return true;//删除,home,delete,左右移动键 if (kc == 109 || kc == 173) return cursorPosition == 0 && o.value.indexOf('-') == -1;//大小键盘上的减号,只有第一个可以输入并且未输入过 if (kc == 110 || kc == 190) return o.value.indexOf('.') == -1 && o.value != ''//大小键盘上的小数点 && cursorPosition != 0 && ((cursorPosition == 1 && o.value.charAt(0) != '-') || (cursorPosition > 1)); return (kc >= 96 && kc <= 105) || (kc >= 48 && kc <= 57) &&//数字 ((cursorPosition > 0) ||//不在第一位 (cursorPosition == 0 && o.value.indexOf('-') == -1)//在第一位的时候不能输入-号 ); } </script>
加支付宝好友偷能量挖...
原创文章,转载请注明出处:JavaScript限制输入框只允许输入数字和符号,小数点