我有一个需要验证特定名字的表单。
<input type="text" ng-model="info.first_name" ng-pattern="/\bJane\b/">
问题在于名字&#34;简&#34;需要在控制器中设置。
是否可以使用ng-pattern动态设置它?
答案 0 :(得分:0)
您可以看到我自己制作的完整版plunkr,但相关位改编自https://stackoverflow.com/a/18984874/13468
$scope.getPattern = (function() {
var regexp = function() {return new RegExp('\\b'+ $scope.second_name +'\\b')};
return {
test: function (value) {
return regexp().test(value);
}
}
})();
我为内部regexp
使用了一个函数,因为我想等到实际测试模式后才能将$scope.second_name
的值包含在RegExp中。
答案 1 :(得分:0)
您可以将正则表达式定义为范围变量:
$scope.pattern = new RegExp('\\b' + $scope.second_name + '\\b');
<input type="text" ng-model="first_name" ng-pattern="pattern" required>