【问题标题】:Validation for number in text field in html5 using angularjs使用angularjs验证html5中文本字段中的数字
【发布时间】:2014-08-08 22:58:00
【问题描述】:

我的表单中有一个数字类型的输入字段。它不是必填字段。所以我没有给出必需的属性。但是每当用户给它赋值时,他必须只提供数值而不是字母或任何特殊字符。如何在 angularjs 的 ng-show 中验证这一点?

【问题讨论】:

标签: c# html angularjs validation ng-show


【解决方案1】:

希望这个话题能解决你的问题。 Solving a Regex for a number range

您可以根据此线程获取http://utilitymill.com/utility/Regex_For_Range 中任意数字范围的正则表达式模式。

【讨论】:

    【解决方案2】:

    在此处使用 angular-ui 掩码-> http://angular-ui.github.io/ui-utils/#/mask

    这是我将其与电话号码模式一起使用的示例:

    <input name="phoneInputNumber"
    ui-mask="(999)999-9999"
    ng-model="phoneInput.number" />
    

    【讨论】:

      【解决方案3】:

      请看这里例如:http://jsbin.com/renegica/12/

      <form name="myForm" ng-submit="onSubmit()">
      
          <input type="text" name="number" ng-model="number" ng-pattern="/^[0-9]+$/" required/>
          <span ng-show="myForm.number.$error.pattern">Not a number!</span>
        </form>
      

      【讨论】:

      • 是的,这行得通。但同时,如果用户输入数字,我需要验证最大和最小数字。在那种情况下我需要做什么?
      • 请看这里jsbin.com/renegica/13/edit 你可以使用最小值和最大值,只是你需要将输入类型从文本更改为数字
      • 但如果我这样做了,如果我没有为数字字段提供必需的属性,我将无法验证字母。我已经标记了答案。现在我正在使用 ng-pattern 到文本字段并解决了问题。
      • 是的,没错,ng-patter 是最好的解决方案,使用 reg-generator 很容易验证数字。
      猜你喜欢
      • 1970-01-01
      • 2014-05-30
      • 1970-01-01
      • 2013-05-10
      • 1970-01-01
      • 1970-01-01
      • 2013-07-07
      • 1970-01-01
      • 2018-11-27
      相关资源
      最近更新 更多