【问题标题】:Basic Input field Validation in JavascriptJavascript中的基本输入字段验证
【发布时间】:2016-06-24 09:08:55
【问题描述】:

我对 JavaScript 很陌生,所以我开始学习 Forms。请查看代码并提出建议。

我正在尝试仅验证第一个字段,它必须包含字符串,但不能包含数字,也不应包含字母数字字符。但如果我输入字母数字字符,它不会显示警报消息窗口。请多多指教。

function checkFields()
{
    var tname = document.getElementById("t0_name").value;
    var texpense = document.getElementById("t1_expense").value;
    var tdate = document.getElementById("t2_date").value;
    var tamt = document.getElementById("t3_amt").value;
    var tstatus = document.getElementById("t4_status").value;
    var temail = document.getElementById("t5_email").value;
    var alphanumeric = /[^a-zA-Z0-9]/;
    if (tname == null || tname ==  "") {
        document.getElementById("t0_name").style.border = "1px solid black";
        alert('should not be blank');
    } else if (!isNaN(tname)) {
        alert('Should not be Numeric');
        document.getElementById("t0_name").style.border = "1px solid red";
    } else if (/[^a-zA-Z0-9]/.test(tname)) {
        alert('Input is not alphanumeric');
    }
}

谢谢 巴尔卡尔

【问题讨论】:

  • “字母数字”几乎包括所有字符(字母数字)...那么它应该包含什么 ?!
  • 条件是输入框只能接受字符,不能接受数字,甚至不能接受字母数字。
  • 所以你想只允许字符 A-Z? “字母数字”不是一个东西,它只是 数字

标签: javascript


【解决方案1】:

您可以使用以下正则表达式仅检查字符而不检查字母数字,即字符和数字。

/^[a-zA-Z]+$/.test('Abc') // true

/^[a-zA-Z]+$/.test('a1') // false

在您的正则表达式中,您指定了 0-9 之间的数字,这就是它在字母数字上返回 true 的原因。

您也可以使用 \D 即非数字

/^[\D]+$/.test('A')

$ 前的 + 号表示一个或多个字符。

【讨论】:

    【解决方案2】:

    var 字母数字 = /[^a-zA-Z]/;完成...谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-11
      • 2011-04-25
      • 2023-03-17
      • 2017-09-11
      • 2014-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多