Javascript限制输入框只允许输入数字和符号,小数点,不允许输入其他内容,并且输入符号后不能在前面输入数字,小数点同理。
Javascript限制输入框只允许输入数字和符号,小数点
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 >&#61; 96 && kc <&#61; 105) || (kc >&#61; 48 && kc <&#61; 57) &&//数字
((cursorPosition > 0) ||//不在第一位
(cursorPosition &#61;&#61; 0 && o.value.indexOf(&#39;-&#39;) &#61;&#61; -1)//在第一位的时候不能输入-号
);
}
加支付宝好友偷能量挖...
2016-11-3Web开发网