gpt4 book ai didi

javascript - 如何限制输入仅接受数字?

转载 作者:IT王子 更新时间:2023-10-29 02:46:58 27 4
gpt4 key购买 nike

我在 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也可以用来定义一个正则表达式来限制字段中允许的内容。另见 "cookbook" page about forms .

骇人听闻?方式,$watch Controller 中的 ng-model:

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

Controller :

$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 提供的已经很好的答案,所以这里是链接:https://stackoverflow.com/a/14425022/215945

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

使用 ng-change 会导致问题。参见 AngularJS - reset of $scope.value doesn't change value in template (random behavior)

关于javascript - 如何限制输入仅接受数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14615236/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com