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

时间:2014-01-29 19:58:50

标签: javascript

我正在尝试验证表单,特别是现在的“城市”文本框字段。如果城市为空或少于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 strings\n";
    }

    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");
    }

提前致谢。

1 个答案:

答案 0 :(得分:0)

保持你的结构,它应该是

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