0

尝试设置一个简单的 .jsp 来测试 JavaScript 正则表达式,并避免每次进行更改时都必须清理/构建/重新发布我的测试服务器。现有代码取自我正在努力添加对西班牙语字符的识别的项目,但这段代码似乎根本没有发现任何不匹配。

<html>
<head>
    <script language="JavaScript">
        function isValidTarget(target) {
            if (regexTarget.target.search(/^[a-zA-Z\#\@\!\&\.\*\-:;<>"',\?0-9 ]+$/) == -1) {
                alert("Your input contains one or more invalid characters.");
            }
        }
    </script>
</head>
<body>
    <form name="regexTarget" method="post" onSubmit="return isValidTarget(this)">
        Target: <input type="text" name="target"/>
        <input type="submit" value="Submit" />
    </form>
</body>
</html>
4

3 回答 3

0

您正在命名参数target,但您从不使用它。要么删除参数,要么使用它(例如。if( target.target.search...

于 2012-07-23T19:51:48.577 回答
0

您正在尝试搜索 DOM 节点而不是其值。试试这个:

regexTarget.target.value.search(...)
于 2012-07-23T19:57:55.050 回答
0
if (target.target.value.search(/^[a-zA-Z\#\@\!\&\.\*\-:;<>"',\?0-9 ]+$/) == -1) 
于 2012-07-23T20:06:01.807 回答