我如何在 ng-pattern 中使用正则表达式来避免某些特殊字符?
How do i use Regular expression in ng-pattern to avoid certain special character?
我必须避免 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>
您可以使用
ng-pattern="/^[^%;:\x27\x22,<>{}[\]\/]*$/"
请注意,'
已转为 \x27
,"
已转为 \x22
,可在属性值中自由使用。
详情
^
- 字符串的开头
[^
- 否定字符的开始 class 匹配除...以外的任何字符
%;:\x27\x22,<>{}[\]\/
- %
, ;
, :
, '
, "
, <
, >
、{
、}
、[
、]
和 /
]*
- 零次或多次
$
- 字符串结尾。
查看 JS 演示:
var app = angular.module("angularApp", [])
.controller("myConfigGenCtrl", function($scope) {
$scope.subnet = '';
});
<!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>
我必须避免 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>
您可以使用
ng-pattern="/^[^%;:\x27\x22,<>{}[\]\/]*$/"
请注意,'
已转为 \x27
,"
已转为 \x22
,可在属性值中自由使用。
详情
^
- 字符串的开头[^
- 否定字符的开始 class 匹配除...以外的任何字符%;:\x27\x22,<>{}[\]\/
-%
,;
,:
,'
,"
,<
,>
、{
、}
、[
、]
和/
]*
- 零次或多次$
- 字符串结尾。
查看 JS 演示:
var app = angular.module("angularApp", [])
.controller("myConfigGenCtrl", function($scope) {
$scope.subnet = '';
});
<!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>