无法获得具有ng-pattern最小宽度的输入长度

时间:2017-02-04 18:57:17

标签: javascript angularjs

当我使用ng-pattern进行输入时,无法获得输入长度。第4个元素后可见的长度数。

<label ng-class="username.length ? 'focused': ''"> LabelText </label>
<input type='text'ng-model='username' ng-pattern="/^[a-zA-Z0-9\\_\\-]{4,16}$/" />"

1 个答案:

答案 0 :(得分:1)

嗯,你的问题有些令人目不暇接。 :)这是一些用户投票给你的方式。如果您将正则表达式声明从^[a-zA-Z0-9\\_\\-]{4,16}$更改为<div ng-controller="ExampleController"> <form name="form"> <label for="regex">Set a pattern (regex string): </label> <input type="text" ng-model="regex" id="regex" /> <br> <label for="input">This input is restricted by the current pattern: </label> <input type="text" ng-model="model" ng-class="model.length ? 'error': ''" id="input" name="input" ng-pattern="regex" /><br> <hr> input valid? = <code>{{form.input.$valid}}</code><br> model = <code>Model length: {{model.length}}</code> </form> </div> ,则您提供的代码效果很好。请将您的代码与以下工作示例进行比较。

以下是您要实现的工作Fiddle

使用测试JavaScript正则表达式查看:

var myApp = angular.module('myApp',[]);

myApp.controller('ExampleController', ['$scope', function($scope) {
  $scope.regex = '^[a-zA-Z0-9\\_\\-]{4,16}$';
}]);

AngularJS应用程序

git reflog