如何在html输入中同时允许数字和小数

时间:2017-04-18 09:51:03

标签: javascript html angularjs

我创建了一个页面,我在其中获得了类型编号的输入,以及我使用验证来检查何时没有输入以及不允许特殊字符或除数字之外的任何其他字符。当我们使用5,10,33534这样的数字时它工作正常,但是当我们使用数字5.5,10.75时,弹出验证可以让任何人告诉我如何通过验证接受数字和浮点值。  我已经尝试在html输入中使用step但是当我使用float number时它会显示验证消息。

HTML:

<label class="item item-input InputFormFull">
                <span class="input-label">
                  {{'cost_message' | translate}}
                </span>
                 <input type="number" placeholder="{{'cost_message' | translate}}" step=".01" 
                  ng-model="vm.trade.cost" ng-change="vm.fillStarted()">
              </label>

使用Javascript:

if (!isValid(d.field)) {errors.push(d.name + $translate.instant('{{"vempty_message" | translate}}'));}
        // if (isNaN(d.field)) {errors.push('No special characters allowed in ' + d.name);}
        if (isNaN(d.field)) {errors.push($translate.instant('{{"vspecalchar_message" | translate}}'));}
        if (isValid(d.field)) {
          d.field =  d.field.toString();
          if (format.test(d.field)) {errors.push('Special characters not allowed');}
        }

1 个答案:

答案 0 :(得分:0)

在这种情况下更好的方法是使用正则表达式。

var valid = /^([\d]+(\.)?[\d])?([\d])?$/.test(d.field);

此表达式将检查您所需的验证并相应地返回一个布尔值。

你会发现很多在线工具可以使用正则表达式。