当前位置: 首页 > 面试题库 >

如何将输入限制为仅接受数字?

汤枫涟
2023-03-14
问题内容

我在AngularJS中使用ngChange来触发自定义函数,该函数将删除用户添加到输入中的所有字母。

<input type="text" name="inputName" data-ng-change="numbersOnly()"/>

问题是我需要定位触发的输入,numbersOnly()以便删除输入的字母。我已经在Google上寻找了很长时间,并且对此一无所获。

我能做什么?


问题答案:

简单的方法 ,如果适用于您的用例,请使用type =“
number”

<input type="number" ng-model="myText" name="inputName">

另一种简单的方法: ng-
pattern
也可用于定义正则表达式,以限制字段中允许的内容。另请参阅有关表单的“食谱”页面。

骇人听闻的? 方式,$ watch您的控制器中的ng模型:

<input type="text"  ng-model="myText" name="inputName">

控制器:

$scope.$watch('myText', function() {
   // put numbersOnly() logic here, e.g.:
   if ($scope.myText  ... regex to look for ... ) {
      // strip out the non-numbers
   }
})

最好的方法是 ,在指令中使用$ parser。我不会重复@pkozlowski.opensource提供的已经很好的答案,

以上所有解决方案都涉及使用ng-model,这使查找this不必要。

使用ng-change会引起问题。请参阅AngularJS-重置$scope.value不会更改模板中的值(随机行为)



 类似资料:
  • 下面是关于如何限制字符输入长度的代码 可以通过

  • 我已经编写了basic程序,但是,我需要使它这样,如果输入了一个以上的字符,一个错误消息将显示。 }

  • 问题内容: 我正在尝试进行多项选择调查,以允许用户从选项1-x中进行选择。如何做到这一点,以便用户输入除数字以外的任何字符,返回“那是无效答案”之类的内容 问题答案: 您的代码将变为: 它的工作方式是使循环无限循环,直到仅放入数字为止。因此,如果我输入“ 1”,它将破坏循环。但是如果我放“ Fooey!” 该语句将捕获“将引发的错误” ,并且该循环将循环,因为它没有被破坏。

  • 问题内容: 我在表中有一列称为“患者类型”。我想确保只能将2个值插入opd或accepted列中,除此之外,所有其他输入均无效。 以下是我想要的示例 如何确保该列仅接受“ opd”或“ admitted”作为“患者类型”列的数据。 问题答案: 您需要检查约束。 从现在开始,您需要检查它是否在MySQL中特别有效。 似乎不起作用(或者至少几年前没有)。 MySQL CHECK约束 MySQL CHE

  • 问题内容: 我想创建JTextField,输入字符限于“ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVXYWZZ0123456789 +&@#/%?=〜_- |!:,。;”之类的输入字符。所以我尝试覆盖 但这不是我想要的,因为用户无法再按ctrl-c ctrl-v ctrl-x …所以我添加了 到if条件,但现在用户可以粘贴不适当的输入,即’(’

  • 问题内容: 我需要确保某个字段仅将数字作为值。输入的内容不是表单的一部分。因此它不会被提交,因此在提交期间进行验证不是一种选择。我希望用户无法输入数字以外的任何字符。 有没有一种巧妙的方法可以实现这一目标? 问题答案: HTML 5 您可以使用HTML5输入类型数字来限制仅数字输入: 这仅在HTML5投诉浏览器中有效。确保您的html文档的doctype为: 的JavaScript 更新: 为此,