如何使用 Javascript 限制某一 textbox 只能输入数字﹖
may be you can use the script like this:
<input type="text" name="yourFieldName" onkeyup="if(isNaN(this.value))this.value=">
用正则表达式
<script language="javascript">
fucntion checkfrm()
{
var filer= /^\d+$/;
if (!filter.test(document.frm.txt.value)) {
alert(只能为数字);
document.frm.txt.focus();
document.frmA.txt.select();
return false;}
}
</script>
给出 我用过得绝对可行的方法,
用正则式
如下:
<script language="javascript">
function strim(s)
{
var r, re;
re = /\s/g;
r = s.replace(re, "");
return(r);
}
function snum(s)
{
var r, re;
re = /\d/g;
r = s.replace(re, "");
return(r);
}
</script>
下面是用法:
if (strim(this.document.form1.tel.value)!="")
{
if (snum(strim(this.document.form1.tel.value))!="")
{
alert("请检查手机号输入是否正确");
this.document.form1.tel.focus();
return false;
}
}
strim是去掉首尾的空格;snum是把数字过滤掉;
两个函数作用后,只留下非数字的字符;
可以输入一个小数点,和可以使用退格,
<script language =javascript>
<!--
function checkkey(){
var key = event.keyCode;
if( (key > 95 && key < 106) ||
(key > 47 && key < 60) ||
(key == 110 && yourFieldName.value.indexOf(".") < 0 )||
(key == 190 && yourFieldName.value.indexOf(".") < 0 )){
}else if(key != 8){
alert(key);
event.returnValue = false;
}
}
//-->
</script>
<input type="text" name="yourFieldName" onkeydown=checkkey(); >