一个js的问题 本人菜鸟 虚心求教!

来源:百度知道 编辑:UC知道 时间:2024/05/25 05:13:11
<html>
<body>
<script type="text/javascript">
function noNumbers(e)
{
var keynum
var keychar
var numcheck

if(window.event) // IE
{
keynum = e.keyCode
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which
}
keychar = String.fromCharCode(keynum)
numcheck = /\d/
return !numcheck.test(keychar)
}
</script>

<form>
Type some text (numbers not allowed):
<input type="text" onkeydown="return noNumbers(event)" />
</form>
</html>

这是一段控制用户无法在输入框中键入数字功能的一段代码,但是其中的numcheck = /\d/不明白是什么意思。请问/\d/是什么?numcheck = /\d/这句的作用是什么?谢谢解答。

numcheck = /\d/

是一个正则表达式/XXXXX/ ,其中 \d代表匹配一个或多个数字
匹配是在numcheck.test(keychar)对keychar进行测试。匹配成功(keychar有数字)则返回true否则false
但是numcheck.test之前有一个取反 因此是如果keychar是数字 那么整个函数返回false,否则返回true