【问题标题】:How to check for numbers in a textbox, of which you only want letters A - Z如何检查文本框中的数字,您只需要字母 A - Z
【发布时间】:2013-05-08 03:04:04
【问题描述】:

我在我的网站上使用 JavaScript 来检查表单中的输入元素。我试图确保当用户输入他们的名字时字段中没有数字。该表单是使用 PHP 创建的。我还在我的网页设计的第一年,所以不确定是否有这个功能。如果有人问过这个问题,我很抱歉,但我没有找到任何东西。非常感谢

【问题讨论】:

  • 这是一门模块化课程,并不总是专注于网页设计,我知道这听起来很疯狂。

标签: javascript numbers letters


【解决方案1】:

您可以使用正则表达式,也可以编写一个函数来验证键码。

下面是显示带有空格的字母的正则表达式的链接。 Regular Expression for alphabets with spaces

键码示例。把它放在文本框的按键上。这将不允许用户键入字母以外的字符。您可以为要允许的其他字符添加其他键代码。

function onKeyPress(){
   if(event.keyCode<65 && event.keyCode>90)
     return false;
   else
     return true;
}

【讨论】:

  • return (event.keyCode &gt; 69 &amp;&amp; event.keyCode &lt; 90)
  • 请不要那样做。这对用户来说真的很烦人,最好告诉他们什么是有效的,然后让他们随心所欲地到达那里。您只关心表单提交时的值是什么,之前的值无关紧要。
  • 视情况而定……每个人都知道以他们的名义输入什么。无论如何,这只是一个例子,我只提供了选项。
  • 最大的问题是,如果有人不小心输入了某个错误的字符,他们会按删除,只是看到该字符已经被删除(但前提是它不是允许的字符代码范围)所以现在他们已经删除了两个字符(有时)。另一个是这不解决粘贴或拖入文本区域的值。这不是一个好的解决方案。
  • 是的..你提到的关于拖动和粘贴文本的情况不是这样处理的。感谢提及。
【解决方案2】:
var patt=/[0-9]/,
    value = $('#input').val();

if(patt.test(value)) {
    // Contains a number between 0-9
}

【讨论】:

    【解决方案3】:

    如果你的目标是 html5 浏览器,你可以使用 pattern 属性

    <input type="text"  pattern="^[a-zA-Z]*$" >
    

    【讨论】:

      猜你喜欢
      • 2021-09-22
      • 2013-11-22
      • 1970-01-01
      • 1970-01-01
      • 2011-01-30
      • 2018-03-16
      • 2012-02-23
      • 2010-10-31
      • 1970-01-01
      相关资源
      最近更新 更多