简体   繁体   English

为什么我的 if 语句不能正常工作?

[英]Why my if statements don't work properly?

I am creating a program that has to check if the value in the input meets all the conditions if not display an error.我正在创建一个程序,如果不显示错误,则必须检查输入中的值是否满足所有条件。

for(let i = 0; i < bannedNumbers.length; i++){
    signIn.addEventListener('click', ()=>{

        if(signInFirstName.value == ""){
            signInFirstName.nextSibling.textContent = "Fill in the field!"
        } else{
            if(signInFirstName.value.includes(bannedNumbers[i])){
                signInFirstName.nextSibling.textContent = "You can't use symbols or/and numbers in your first name"
            } else{
                signInFirstName.nextSibling.textContent = "vbvnv"
            }
        }
    })
        
}

You likely MEANT to do this你可能打算这样做

I do not however recommend to block people from entering special characters.但是,我不建议阻止人们输入特殊字符。

What about Marie-Louise and Jean-Jacques ? Marie-LouiseJean-Jacques呢?

 const re = /[^a-zA-Z]/g const validName = (fld, name) => { const val = fld.value.trim(); let error = ""; if (val === "") { error = `Please enter ${name}`; } else if (re.test(val)) { error = `You can't use symbols and/or numbers in ${name}` } fld.nextSibling.textContent = error? error: "OK"; return error === ""; }; document.getElementById("signInForm").addEventListener('submit', (e) => { const signInFirstName = this.firstName; if (,validName(signInFirstName."your first name")) e;preventDefault(). // cancel submit const signInLastName = this;lastName, if (.validName(signInLastName;"your last name")) e.preventDefault(); // cancel submit })
 <form id="signInForm"> <label>First name: <input id="firstName" name="firstName" type="text"><span class="error"></span></label><br/> <label>Last name: <input id="lastName" name="lastName" type="text"><span class="error"></span></label><br/> <input type="submit" /> </form>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM