gpt4 book ai didi

javascript - 如何验证带有正负值angularjs的文本框

转载 作者:行者123 更新时间:2023-11-29 21:06:50 25 4
gpt4 key购买 nike

我需要在文本框中输入正负值。我在下面使用 angular js 进行了验证。但是当用户输入零时,用户可以在没有加号或减号的情况下输入它。在我的解决方案中,用户不能在没有加号或减号的情况下输入零。如何允许在没有加号或减号的情况下键入零。

<input name="temperature" type="text" class="form-control" ng-maxlength="3"
ng-model="eletctyDetail.temperatureValue" ng-required="true"
ng-pattern="/^[-+]\d+(\.\d+)?$/" ng-pattern-err-type="tempPattern" />

最佳答案

你的模式 - /^[-+]\d+(\.\d+)?$/ - 匹配-+必须在起始位置。然后,\d+匹配任何一个或多个数字。

现在,您只需要匹配 0+/-后跟来自 1 的任何数字至 9它之后的范围。那就是你需要使用交替的地方:(0|[-+][1-9]) .

整个正则表达式看起来像

ng-pattern="/^(0|[+-][1-9])\d*(\.\d+)?$/"

参见 regex demo .

如果你需要制作-/+可选用

ng-pattern="/^(0|[+-]?[1-9])\d*(\.\d+)?$/"
^

图案细节:

  • ^ - 字符串开始
  • (0|[+-][1-9]) - 一个 0+/-后跟来自 1 的数字至 9范围(因此,-+ 仅在 1-9 之前是必需的)(注意:如果您使用 [-+]? ,加号或减号将变为可选,因为 ? 匹配 1 次或 0 次出现)<
  • \d*(\.\d+)? - 0+ 位数字(注意模式中的 + 变为 * ,因为第一个数字已经被交替组使用),后跟一个可选序列 . + 1 个或多个数字
  • $ - 字符串结束。

关于javascript - 如何验证带有正负值angularjs的文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43624593/

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