为了账号安全,请及时绑定邮箱和手机立即绑定

如果在 HTML 上输入错误,如何显示错误消息

如果在 HTML 上输入错误,如何显示错误消息

慕哥9229398 2023-05-19 18:17:08
我试图在输入字段旁边以红色显示一条错误消息,让用户知道,但我不知道为什么我的错误消息不起作用。输入要求以大写字母开头,后跟非特殊字符(任何字母)请帮我看看我的代码有什么问题我对 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>
查看完整描述

2 回答

?
HUX布斯

TA贡献1876条经验 获得超6个赞

我看到你的 if 语句没有正确关闭,还有输入框。

    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;

}

    }

}


查看完整回答
反对 回复 2023-05-19
?
森栏

TA贡献1810条经验 获得超5个赞

当我倾向于使用正则表达式时,我将它存储在它自己的值中,如下所示:

const patternName = /[0-9]|[-!$%^&*()_+|~=`{}\[\]:";'<>?,.\/|#]/;
let resultName = patternName.test(name.value);

上面的代码检查 是否name包含上面正则表达式中的任何内容,如果包含则resultName返回true

接下来我们可以进行以下操作:

  1. 如果name为空,你会得到一个错误,它包含我们上面的正则表达式中的任何内容。在这种情况下,我们显示错误

  2. 如果我们知道它resultName包含来自正则表达式的内容,那么它不是一个有效的名称。truename

  3. 如果不是,我们显示成功消息

if (name.value === "" || resultName) {

    showErrorName();

} else {

    showSuccessName();

}`


查看完整回答
反对 回复 2023-05-19
  • 2 回答
  • 0 关注
  • 184 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信