Невозможно разрешить десятичное значение внутри поля ввода с помощью Angular.js

Мне нужна одна помощь. У меня есть проверка поля ввода, и это поле принимает только число, включая десятичное значение, также с использованием шаблона Angular.js. Я объясняю свой код ниже.

<div class="input-group bmargindiv1 col-md-12">
    <span class="input-group-addon ndrftextwidth text-right" style="width:180px">
          Unit Sale Price :
    </span>
    <div ng-class="{ 'myError': billdata.usp.$touched && billdata.usp.$invalid }">
        <input type="text" name="usp" id="usp" class="form-control"
                placeholder="Add Unit Sale Price" 
                ng-model="unit_sale_price" 
                ng-keypress="clearField('usp');" 
                ng-keyup="setLatestSalePrice();" 
                ng-pattern="/^(0|[1-9][0-9]*)$/">
        <div style="clear:both;"></div>
    </div>
</div>
<div class="help-block" ng-messages="billdata.usp.$error"
     ng-if="billdata.usp.$touched || billdata.usp.$error.pattern">
    <p ng-message="pattern" style="color:#F00;">
       This field needs only number(e.g-0,1..9).
     </p>
</div>

Здесь моя проблема заключается в том, что десятичное значение также не принимается этим полем. Здесь мне нужны только символы, которые также не допускаются. Пожалуйста, помогите мне.


person satya    schedule 20.01.2016    source источник
comment
Вы пробовали type=number на свой ввод?   -  person Aarohi Kulkarni    schedule 20.01.2016


Ответы (2)


Вы можете использовать input[type="number"] для Эта проблема:

<input type="number" name="usp" id="usp" class="form-control" placeholder="Add Unit Sale Price" ng-model="unit_sale_price" ng-keypress="clearField('usp');" ng-keyup="setLatestSalePrice();">
person Martijn Welker    schedule 20.01.2016

Использование также может использовать регулярное выражение для этого:

<input type="text" name="usp" id="usp" class="form-control" placeholder="Add Unit Sale Price" ng-model="unit_sale_price" ng-keypress="clearField('usp');" ng-keyup="setLatestSalePrice();" ng-pattern = "^[0-9]+([.][0-9]+)?$">

И используйте приведенное ниже выражение для ошибки

 ng-show="regForm.password.$error.pattern"
person techyaura    schedule 20.01.2016
comment
это также принимает характер .. Пожалуйста, проверьте это. - person satya; 20.01.2016
comment
@satya Я обновил регулярное выражение, попробуйте это. Вы можете проверить это регулярное выражение на regextester.com . Если все еще не исправить, дайте мне знать. - person techyaura; 20.01.2016