你好,我虽然不会用正则,但是可以用另一种方法解决!!就是event.keyCode
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
function pull()
{
var e=event.keyCode;
if(!(e>=48&&e<=57||e==189))
{
alert("输入内容只能包括数字或者'-'");
document.all.txt.value="";
}
}
//-->
</SCRIPT>
<BODY>
<form name="frm" onsubmit="return check()">
<input type="text" name="txt"onkeyup="pull()" />
<input type="submit" />
</form>
</body>
</BODY>
</HTML>
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
function pull()
{
var e=event.keyCode;
if(!(e>=48&&e<=57||e==189))
{
alert("输入内容只能包括数字或者'-'");
document.all.txt.value="";
}
}
//-->
</SCRIPT>
<BODY>
<form name="frm" onsubmit="return check()">
<input type="text" name="txt"onkeyup="pull()" />
<input type="submit" />
</form>
</body>
</BODY>
</HTML>
解决方案 »
- 关于Extjs4的grid动态列的获取~~
- php数据库排序问题
- 请教一个在FireFox中浏览本地图片的问题
- 一个问题
- prototype定义的函数无法访问构造函数里的变量,有什么好的解决方案吗?
- 字符处理
- javascript读取select option value并写入cookies改变页面字体不成功,求帮忙修改!成功另加40分!
- 请教:如何通过javascript自动设置打印参数(打印方向)?
- <A href="" onclick="window.back();">back</A>错误
- 用JavaScript实现VBScript的“Response.Redirect ?
- 为什么只有第一个的弹出才是正确的背景色??????????
- 网页刷新效果
/// <fMin>最少小数位数</fMin>
/// <fMax>最多小数位数</fMax>
/// <AllowInt>整数是否通过检验</AllowInt>
function IsNumber( str, fMin, fMax, AllowInt ){
var strMin = fMin > 0 ? fMin.toString() : "0";
var strMax = fMax > 0 ? fMax.toString() : "";
var strAllowInt = AllowInt ? "?" : "";
var reg = new RegExp( "^\\-?([1-9]\\d*|0)(\\.\\d{" + strMin + "," + strMax + "})" + strAllowInt + "$" );
return reg.test( str );
};
function checkStrng(strng) {
alert(pat.test(strng));
}
var strng1 = "1111111111111";
var strng2 = "-------------";
var strng3 = "1-1-1-1-1-1-1";
var pat = /[\d-]{13}/;
checkStrng(strng1);
checkStrng(strng2);
checkStrng(strng3);
</script>
/^\d|-{13}/
这个的写法就相当于:开头是数字 或者 里面包括13个- 满足一个就可以。所以就错了。。
var pat = /[\d-]{13}/;
改成
var pat = /^[\d-]{13}$/;