【问题标题】:Javascript .length property and string/numeric validationJavascript .length 属性和字符串/数字验证
【发布时间】:2014-01-29 19:58:49
【问题描述】:

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

提前致谢。

【问题讨论】:

  • 你是如何获得 firstName, GetElementBy...?
  • 你是如何获得城市价值的
  • 确保city 已定义并包含字符串。
  • 你能把你的表格贴在这里或者 JSBIN
  • 我认为if(firstName.value="" 是错字? (分配而不是平等测试)

标签: javascript


【解决方案1】:

保持你的结构,它应该是

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

【讨论】:

  • 谢谢特拉维斯!它起作用了,现在我知道我也需要 .value !感谢帮助。关于只允许字符串的任何建议?多次尝试 isNaN ,但它不起作用。任何形式的建议将不胜感激,再次感谢
  • 美女,再次感谢。下周我查看了我的 powerpoint 并且正在研究正则表达式。那是这样的吗?我可以对数字使用相同的方法,但不是 [a-zA-Z].. 用 [1-100] 代替它。
  • @Atlas182 - 是的,这就是正则表达式(正则表达式)。对于数字,您可以使用 /^[0-9]+$/,
  • 抱歉,Travis 最后一件事,我也可以将它添加到 firstName、lastName 字段中吗?比如,, if(lastName.value == "" || /^[a-zA-Z]+$/.test(lastName.value)) { errorMessage = errorMessage + "输入一个有效的姓氏。\n"; }
  • 是的,你可以。它只是根据评估测试字符串的正则表达式产生一个真或假值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-27
  • 1970-01-01
相关资源
最近更新 更多