[英]How do I display an error message if the input is wrong on HTML
我试图在输入字段旁边以红色显示错误消息以让用户知道,但是我不知道为什么我的错误消息不起作用。 输入要求以大写字母开头,后跟非特殊字符(任何字母)请帮我看看我的代码有什么问题
我还是 HTML 的新手,我知道很多人都说过正则表达式,但我不确定我还没有学过
<html>
<script>
function validateForm() {
var fname = document.getElementById("fname").value;
if (/^[A-Z]\D{2,30}$/.test(fname) == false)
{
document.getElementById("errorName").innerHTML = "Your email must be filled";
return false;
{
return name;
}
</script>
<style>
#errorName
{
color:red;
}
</style>
<form action="handleServer.php" method="get" onSubmit="return validateForm()">
<body>
<!-- starting with first name-->
First name: </br>
<input id="fname" type="text" name="fname" size="30">
<span id="errorName"></br>
<input type="submit" value="Submit">
</body>
</form>
</html>
当我倾向于使用正则表达式时,我将其存储在自己的值中,如下所示:
const patternName = /[0-9]|[-!$%^&*()_+|~=`{}\[\]:";'<>?,.\/|#]/;
let resultName = patternName.test(name.value);
上面的代码检查name
包含上面正则表达式中的任何内容,如果包含,则resultName
将返回true
。
接下来我们可以执行以下操作:
name
为空,你会得到一个错误,它包含我们上面正则表达式中的任何内容。 在这种情况下,我们显示错误resultName
为true
我们知道name
包含正则表达式中的某些内容,因此它不是有效名称。if (name.value === "" || resultName) {
showErrorName();
} else {
showSuccessName();
}`
我看到你的 if 语句没有正确关闭,还有输入框。
请找codepan
function validateForm() {
console.log(1);
var fname = document.getElementById("fname").value;
if (/^[A-Z]\D{2,30}$/.test(fname) == false)
{
document.getElementById("errorName").innerHTML = "Your email must be filled";
return false;
{
return name;
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.