我有一个输入框,我希望根据您键入的文本提供特定警报。我一直收到错误" TypeError:input.match(...)为null"当我输入除#34;你好"。
之类的东西我的代码:
<html>
<body>
<form name="form5">
<input type=text size=51 name="input">
<input onClick=auswert() type=button value="submit">
</form>
<script type="text/javascript">
function auswert() {
var input = document.form5.input.value;
if (input.match(/hello/g).length == 1) alert("hello");
else alert("bye");
}
</script>
</body>
</html>
答案 0 :(得分:1)
来自String.prototype.match()的Mozilla开发人员网络文档:
&#34;包含整个匹配结果和任何括号捕获的匹配结果的数组;如果没有匹配则为null。&#34;
input.match(/hello/g)
返回null。然后,您在length
上调用null
。 null
没有可以在其上调用的函数。
我建议你试试:
if (input.match(/hello/g) == null) {
// No Matches
alert("bye");
} else {
// Matches
alert("hello");
}