毕业设计终于搞的差不多了,不过还剩下一个"文本框输入数字的问题",请大家多指点
我的代码如下:
<script language="JavaScript">
function StrCh(){
var s = window.event.keyCode
if(s!=8) //回退键
{
if (!((s>=48) && (s<= 57)))
{
if (!((s>=96) && (s<=105))) //小键盘
{
alert("请输入数字!");
window.event.returnValue=false;
}
}
}
}
</script>
结果这个在英文输入法下一切正常,到中文输入法下,无论输入什么都显示"请输入数字"
网上好象有不少用正值式的,不过我不太懂,还请高手讲解一下
可以++++++++++分,,,,,,,多谢
问题点数:50、回复次数:6Top
1 楼baiyunfei(虚度残生)回复于 2005-06-01 16:27:37 得分 30
屏蔽文本框的输入法模式即可。加入如下style
<input name="newsid" type="text" id="newsid" style="ime-mode:disabled">Top
2 楼chzxq(毛毛鼠)回复于 2005-06-01 16:47:48 得分 0
本站中的checkform。js可以解决,Top
3 楼liwenchao()回复于 2005-06-01 16:51:25 得分 10
function checkId(o){
if(o.value!="")
for(i=0;i<o.value.length;i++){
if(!((o.value.charCodeAt(i)>=48&&o.value.charCodeAt(i)<=57)||(o.value.charCodeAt(i)>=96&&o.value.charCodeAt(i)<=105)))
{
alert("ID只能由数字组成!");
o.focus();
break;
}
}
}
Top
4 楼xieqi(飞火流星)回复于 2005-06-01 16:58:48 得分 5
<input onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
Top
5 楼lonaerd(redhat10)回复于 2005-06-01 17:14:53 得分 5
正则判断:
function is_number(str)
{
exp=/[^0-9()-]/g;
if(str.search(exp) != -1)
{
return false;
}
if (str=="")
{return false;}
return true;
}
//调用
function subclcik()
{
if (!is_number(form1.T6.value))
{
alert("XX必须为数字");
}
}
Top
6 楼cdonnet(周瑞)回复于 2005-06-01 19:09:16 得分 0
多谢虚度残生Top




