JavaScript .length属性和字符串/数字验证



我正在尝试验证表单,特别是现在"城市"文本框字段。如果城市是空的或小于3个字符,则会出现警报。也不允许数字显示在字符串文本框中,并且数字字段中没有字符串(年龄)。我尝试了:(没有运气)

if(firstName.value="" || isNaN(firstName)
{
    errorMessage = "Enter valid first name. No numbers."
}

这是我拥有的,但是城市不到3个字符。不起作用?除了检查输入是数字还是字符串。

var errorMessage = "";
    if(firstName.value == "")
    {
        errorMessage = "Enter a valid first name.n";
    } 
if(lastName.value == "")
{
    errorMessage = errorMessage + "Enter a valid last name.n";
    }
    if(age.value =="" || age.value <= 0)
    {
        errorMessage = errorMessage + "Enter a valid age. No stringsn";
    }
    if(city.value == "" || city.length < 3)
    {
        errorMessage = errorMessage + "Enter a valid city, more than 3 char.";
    }

    //displays error messages
    if(firstName.value=="" || lastName.value == "" || age.value=="" || age.value <=0 || city.value=="" || city.length <3)
    {
        alert(errorMessage);
    }
    else{
        alert("success");
    }

预先感谢。

与您的结构保持联系,可能应该是

city.value == "" || city.value.length < 3

要仅通过字母进行筛选,您可以包括一个正则 1 语句

city.value == "" || city.value.length < 3 || /^[a-zA-Z]+$/.test(city.value)

1。从答案发出的正则是:https://stackoverflow.com/a/3073186/1026459

最新更新