我必须避免使用ng-pattern中的一些特殊字符。我可以使用以下代码
来避免所有特殊字符ng-pattern="/^[a-zA-Z0-9]*$/"
但我必须避免这些字符
%;:'",<>
如何写ng-pattern
更新:
<input type="text" class="txt_box" ng-disabled="filechoosen" name="file_name" ng-pattern="/^[^%;:\x27\x22,<>{}[\]\/]*$/" ng-model="filenameedit" id="filenameedit">
<div style="color:Red" ng-show="file_name.$error.pattern ">These charecters are not allowed</div>
答案 0 :(得分:1)
您可以使用
ng-pattern="/^[^%;:\x27\x22,<>{}[\]\/]*$/"
请注意,'
已转为\x27
,"
转为\x22
,可在属性值中自由使用。
<强>详情
^
- 字符串开头[^
- 与除...之外的任何字符匹配的否定字符类的开头
%;:\x27\x22,<>{}[\]\/
- %
,;
,:
,'
,"
,<
,>
,{
,}
,[
,]
和/
]*
- 零次或多次$
- 字符串结束。参见JS演示:
var app = angular.module("angularApp", [])
.controller("myConfigGenCtrl", function($scope) {
$scope.subnet = '';
});
&#13;
<!DOCTYPE html>
<html ng-app="angularApp">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
</head>
<body ng-controller="myConfigGenCtrl">
<div class="ipfield">
<form name="frm">
<label class="plclabel">File Name</label>
<input type="text" class="txt_box" ng-disabled="filechoosen" name="file_name" ng-pattern="/^[^%;:\x27\x22,<>{}[\]\/]*$/" ng-model="name" id="filenameedit">
<div style="color:red" ng-show="frm.file_name.$error.pattern">Error: % ; : ' " < > { } [ ] and / are not allowed!</div>
</form>
</div>
</body>
</html>
&#13;