在Android浏览器中不允许字母或其他符号,而不是数字(0-9)或小数
Not allowing alphabets or other symbols than numerics (0-9) or decimal in Android browser
以下代码为我工作:firefox
, IE 8
, chrome
, Safari
和iphone
。
function dotplaced(myfield){
if(myfield.indexOf(".")===-1){
return false;
}
return true;
}
function NumbersOnly(myfield, e) {
var key;
var keychar;
if (window.event) {
key = window.event.keyCode;
}
else if (e) {
key = e.which;
}
else {
return true;
}
keychar = String.fromCharCode(key);
// control keys
if ((key == null) || (key == 0) || (key == 8) ||
(key == 9) || (key == 13) || (key == 27)) {
return true;
}
// numbers
else if ((("0123456789").indexOf(keychar) > -1)) {
return true;
}
// decimal point jump
else if (!dotplaced(myfield.value) && (keychar == ".")) {
//myfield.form.elements[dec].focus();
return true;
}
else {
return false;
}
}
当Android 2.1给出一些错误。如果我在文本框中没有任何东西,android也允许我输入字母,如果我输入一些默认值,比如7。然后,它是限制,直到我输入句号符号或我删除文本框的所有文本。有人对此有什么想法吗?
也许添加android:numeric="integer"
到xml是有帮助的?
当我做了更多的研究。然后我才知道是Android的自动文本预测行为导致了问题。
相关文章:
- 将数字四舍五入到两位小数
- 在数字字符串的最后两个数字上加上小数
- 将数字格式化为货币,两位小数
- 从数组/字符串中删除所有小数和单个数字
- 大于带数字和小数的条件
- 删除Javascript中小数后的数字
- 用Javascript替换数字's小数
- 对于大的数字,在这个本地化函数上强制使用两个小数
- excel中数字格式时的小数位数
- JavaScript打印的数字有20位小数
- Javascript-格式化数字,始终显示原始的小数位数
- 如何通过 javascript 在浮点数中保留小数点数后的 2 位数字
- 将小数四舍五入为 3 个数字
- 当一个有小数而没有十进制时,JS减去数字
- 数字中的小数位数和精度
- 如何在 Node/Javascript 中丢弃数字的小数部分
- 如何使用 Angular “数字”过滤器键入时在输入字段中设置带有千和小数分隔符的字符串格式
- Javascript:如何检索*字符串*数字的小数位数
- 如何使用 javascript 获取带有 2 个小数且不舍入的数字
- 输入元素,只允许小数的数字,使用AngularJS