问题描述:js文本框只能输入数字
解决方法:
在网页里让文本框只能输入数字的一种方法。外加回车换Tab (javascript key键的使用)+禁止切换输入法
第一步利用样式表。
<asp:TextBox Runat="server" id="TT" style="ime-mode:disabled" οnkeydοwn="myKeyDown()"></asp:textBox>
第二步利用js脚本。
function myKeyDown() {
var k = window.event.keyCode;
if ((k == 46) || (k == 8) || (k == 189) || (k == 109) || (k == 190) || (k == 110) || (k >= 48 && k <= 57) || (k >= 96 && k <= 105) || (k >= 37 && k <= 40))
{ }
else if (k == 13) {
window.event.keyCode = 9;
}
else {
window.event.returnValue = false;
}
}
利用样式表(style="ime-mode:disabled" )可以防止切换成汉字输入法,也就是说只能使用英文输入法,这样就防止了输入汉字的情况。
js脚本就是要限制键盘输入,只能填入数字、小数点、负号、退格键、删除键和方向键。
ascii码说明:
8:退格键
46:delete
37-40: 方向键
48-57:小键盘区的数字
96-105:主键盘区的数字
110、190:小键盘区和主键盘区的小数点
189、109:小键盘区和主键盘区的负号
13:回车
9: Tab 就是那个把焦点移到下一个文本框的东东。
对了还有两个缺点:
1、没有验证多个小数点的情况。
2、没有验证多个负号,和符号必须在前的情况。
------------------------------------------------
var reg = /^[0-9]*$/; //只让输入数字 0 - 9 ,
var str = "abcde"; //这是输入的字符串
var isTrue = reg.test(str); //判断是否为真
if (!isTrue) {
document.getElementById("add").disabled = "true";
}
解决方法:
在网页里让文本框只能输入数字的一种方法。外加回车换Tab (javascript key键的使用)+禁止切换输入法
第一步利用样式表。
<asp:TextBox Runat="server" id="TT" style="ime-mode:disabled" οnkeydοwn="myKeyDown()"></asp:textBox>
第二步利用js脚本。
function myKeyDown() {
var k = window.event.keyCode;
if ((k == 46) || (k == 8) || (k == 189) || (k == 109) || (k == 190) || (k == 110) || (k >= 48 && k <= 57) || (k >= 96 && k <= 105) || (k >= 37 && k <= 40))
{ }
else if (k == 13) {
window.event.keyCode = 9;
}
else {
window.event.returnValue = false;
}
}
利用样式表(style="ime-mode:disabled" )可以防止切换成汉字输入法,也就是说只能使用英文输入法,这样就防止了输入汉字的情况。
js脚本就是要限制键盘输入,只能填入数字、小数点、负号、退格键、删除键和方向键。
ascii码说明:
8:退格键
46:delete
37-40: 方向键
48-57:小键盘区的数字
96-105:主键盘区的数字
110、190:小键盘区和主键盘区的小数点
189、109:小键盘区和主键盘区的负号
13:回车
9: Tab 就是那个把焦点移到下一个文本框的东东。
对了还有两个缺点:
1、没有验证多个小数点的情况。
2、没有验证多个负号,和符号必须在前的情况。
------------------------------------------------
var reg = /^[0-9]*$/; //只让输入数字 0 - 9 ,
var str = "abcde"; //这是输入的字符串
var isTrue = reg.test(str); //判断是否为真
if (!isTrue) {
document.getElementById("add").disabled = "true";
}