我有一个简单的文本输入框,我只想允许浮点数和整数(注意:jade)
input.form-control(type="text", ng-model='usd', ng-pattern="nums",ng-change='convert_to_btc()', placeholder="USD")
然而它并没有起作用,我总是可以在输入框中插入任何字符(我需要做更多的工作才能显示一些东西吗?例如,如果不正确就显示红色边框?或者那些字符甚至不能被输入?)模式是一个正则表达式,因此应该没问题吧???
以下是控制器内容:
app.controller("AppCtrl", function AppCtrl($scope, $http, $interval ) {
//lots of other stuff
$scope.nums = /^\-?\d+((\.|\,)\d+)?$/; //note no string, it's a regex
}
这是生成的HTML代码。这可能是问题所在吗?实际上,生成的HTML代码中有一个字符串,而不是正则表达式!
<input type="text" ng-model="usd" ng-pattern="/^\-?\d+((\.|\,)\d+)?$/" ng-change="convert_to_btc()" placeholder="USD" class="form-control ng-dirty ng-valid-parse ng-touched ng-invalid ng-invalid-pattern">