首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ng-pattern允许拖尾句点

ng-pattern允许拖尾句点
EN

Stack Overflow用户
提问于 2016-10-10 11:13:10
回答 2查看 436关注 0票数 1

我正在尝试创建一个带有angularjs的HTML数字输入,它只允许整数,不允许小数。它适用于具有小数部分的数字,例如"3.5",但不适用于只有一个尾随小数但后面没有数字的数字,例如“3”。

我使用的模式是"/^\d+$/",即

代码语言:javascript
复制
<input type="number" ng-model="price" name="price_field" ng-pattern="onlyNumbers" required>

在控制器中

代码语言:javascript
复制
$scope.onlyNumbers = /^\d+$/;

如果我输入"3.“则不会出现验证消息。我想应该是这样。

JS Fiddle

代码语言:javascript
复制
function formCtrl($scope){
    $scope.onSubmit = function(){
        alert("form submitted");
    }
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app ng-controller="formCtrl">
<form name="myForm" ng-submit="onSubmit()">
    <input type="number" ng-model="price" name="price_field" ng-pattern="/^\d+$/" required>
    <span ng-show="myForm.price_field.$error.pattern">Not a valid number!</span>
    <input type="submit" value="submit"/>
</form>
</div>

EN

回答 2

Stack Overflow用户

发布于 2016-10-10 11:35:35

问题出在type="number"上。

在HTML中,当为type="number"时,3.是有效值。所以,我相信type="number"ng-pattern regex更受欢迎。

将类型更改为text

代码语言:javascript
复制
<input type="text" ng-model="price" name="price_field" ng-pattern="/^\d+$/" required>

Fiddle

票数 1
EN

Stack Overflow用户

发布于 2016-10-10 15:55:16

如果需要禁止非数字输入,只需添加一个onkeypress="return (event.charCode == 8 || event.charCode == 0) ? null : event.charCode >= 48 && event.charCode <= 57"

代码语言:javascript
复制
function formCtrl($scope){
    $scope.onSubmit = function(){
        alert("form submitted");
    }
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app ng-controller="formCtrl">
<form name="myForm" ng-submit="onSubmit()">
    <input type="text" ng-model="price" name="price_field" onkeypress="return (event.charCode == 8 || event.charCode == 0) ? null : event.charCode >= 48 && event.charCode <= 57" ng-pattern="/^\d+$/" required> 
    <span ng-show="myForm.price_field.$error.pattern">Not a valid number!</span>
    <input type="submit" value="submit"/>
</form>
</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39950804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档