可以使用ng-pattern与变量一起使用吗?

19

我对正则表达式很不熟练,但我想知道是否可能使用带有变量的 ng-pattern。

例如,

ng-pattern="/^{{validationCode}}$/"

validationCodeжҳҜйҷ„еҠ еҲ°жҺ§еҲ¶еҷЁ$scopeдёӯзҡ„еҸҳйҮҸ

// Inside Controller
$scope.validationCode = 'response returned from server'

如果

$scope.validationCode = 1234123412351234

那么 ng-pattern 应该是:

ng-pattern="/^1234123412351234$/"

但是现在的方法不起作用,看起来我需要创建一个自定义指令,而我并不想这样做。


哦...你知道吗...我想我找到了一个类似的问题...糟糕 https://dev59.com/rnRB5IYBdhLWcg3w1Kr0?rq=1 - abcf
1个回答

31

ng-pattern期望一个正则表达式。

从Angular 文档中关于ng-pattern的说明:

如果值不匹配RegExp模式表达式,则设置模式验证错误键。期望的值是内联模式的/regexp/或作为作用域表达式定义的模式的regexp

换句话说,你可以在控制器中创建一个RegExp:

$scope.pattern = new RegExp(patternFromServer);

并使用它:

<input ng-model="foo" ng-pattern="pattern">

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接