猿问

如果在 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>


慕哥9229398
浏览 201回答 2
2回答

HUX布斯

我看到你的 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;}    }}

森栏

当我倾向于使用正则表达式时,我将它存储在它自己的值中,如下所示:const&nbsp;patternName&nbsp;=&nbsp;/[0-9]|[-!$%^&*()_+|~=`{}\[\]:";'<>?,.\/|#]/; let&nbsp;resultName&nbsp;=&nbsp;patternName.test(name.value);上面的代码检查 是否name包含上面正则表达式中的任何内容,如果包含则resultName返回true。接下来我们可以进行以下操作:如果name为空,你会得到一个错误,它包含我们上面的正则表达式中的任何内容。在这种情况下,我们显示错误如果我们知道它resultName包含来自正则表达式的内容,那么它不是一个有效的名称。truename如果不是,我们显示成功消息if (name.value === "" || resultName) {&nbsp; &nbsp; showErrorName();} else {&nbsp; &nbsp; showSuccessName();}`
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答