heisetoufa 发表于 2013-2-4 23:49:11

让html的text只能输入数字和1个小数点`? 使按键按不下

<html><head><title>Hi</title><meta http-equiv="Content-Type" content="text/html; charset=gbk"></head><script type="text/javascript">function check(event) {var e = window.event || event;var target = e.srcElement || e.target;var k = e.keyCode;if(isFunKey(k)) {    return true;}var c = getChar(k);if(target.value.length == '' && (c == '-' || c == '+')) {    return true;}if(isNaN(target.value + getChar(k))) {    return false;}return true;}function isFunKey(code) {//8 --> Backspace// 35 --> End// 36 --> Home// 37 --> Left Arrow// 39 --> Right Arrow// 46 --> Delete// 112~123 --> F1~F12var funKeys = ;for(var i = 112; i <= 123; i++) {    funKeys.push(i);}for(var i = 0; i < funKeys.length; i++) {    if(funKeys == code) {      return true;    }}return false;}function getChar(k) {if(k >= 48 && k <= 57) {    return String.fromCharCode(k);}if(k >= 96 && k <= 105) {    return String.fromCharCode(k - 48);}if(k == 110 || k == 190) {    return ".";}if(k == 109 || k == 189) {    return "-";}if(k == 107 || k == 187) {    return "+";}return "#";}</script><style type="text/css">textarea {width: 200px;height: 80px;}span {color: #ff0000;}</style><body><input style="ime-mode:disabled;" onpaste="return false" onkeydown="return check(event)"></body></html>

下边这个是有点瑕疵的,唯一好处是代码量少,下边的这个如果在字符串中间输入错误字符时会把光标后边的字符串全给删掉````

<input onpropertychange="if(isNaN(value)) value=value.substring(0,value.length-1);" style="ime-mode:disabled; " onpaste="return false" onkeypress="return event.keyCode!=32">

感谢火龙果帮助

黑色头发:http://heisetoufa.iteye.com
页: [1]
查看完整版本: 让html的text只能输入数字和1个小数点`? 使按键按不下