这个问题可能很简单,但是在尝试使用正则表达式模式时看起来很复杂。
我有一个文本区域,我正在尝试允许字母数字字符和仅5个某些特殊字符,例如. , ' " :
键入时应禁用其他特殊字符。
我尝试从angularjs使用ng-pattern
,但是当我开始输入除允许的字符以外的特殊字符时,不会将其禁用。
<textarea rows="5" cols="50" ng-pattern="/^[a-zA-Z0-9.,:'"]*$/">
主要问题是当我尝试允许' "
这两个特殊字符时,都面临ng-pattern中的语法问题。
我期望在ng-pattern中仅使用正则表达式的简单解决方案。
我在某处失踪,有人可以帮忙吗?
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<textarea rows="5" cols="50" ng-pattern="/^[a-zA-Z0-9.,:'"]*$/">
</textarea>
答案 0 :(得分:0)
您需要对模式内的双引号字符进行html编码,如下所示:
ng-pattern="/^[a-zA-Z0-9.,:'"]*$/"
当前模式到达第一个双引号时结束。
为了安全起见,还对单引号进行html编码。
编辑,我犯了一个错误,现在应该可以了。