5

如何只允许输入ng-patternletters, numbers, dot,underscoredash ( . _ -)?

已经尝试了以下

更新:

$scope.validationPattern = '/^[a-zA-Z\d\-\_]+$/';

<input ng-model="model" type="text" ng-pattern="{{validationPattern}}" />
4

3 回答 3

13

根据您的要求,您需要在模式中添加一个点:

$scope.regex = '^[a-zA-Z0-9._-]+$';

并添加ng-trim="false"<input>标签中以禁止前导/尾随空格。

看到这个 plunkr

于 2016-08-24T11:36:17.560 回答
4
[a-zA-Z0-9][A-Za-z0-9._-]*

这个有效

于 2016-08-24T11:39:51.473 回答
2
/^[a-zA-Z0-9 ._-]+$/

如果此正则表达式不直接适合 ng-pattern 进行必要的调整,例如,它似乎对您来说足够合适。

在控制器中添加

$scope.pattern = /^[a-zA-Z0-9 ._-]+$/;

现在在 html 中使用ng-pattern="pattern"

使用此测试:http ://www.regextester.com/

接受数字、字母和三个符号(.-_)

于 2016-08-24T11:41:42.703 回答