I have a ng-pattern validation for a regex of ^[^\\./:*\\?\\\"<>\\|]{1}[^\\/:*\\?\\\"<>\\|]{0,254}$ which basically tests the invalid chars in filepath and teh limit.
First of all, your regex contains too many escaping symbols, while you only need to escape the "
here and \\
.
Then, to match a "
inside ng-pattern
attribute, you may define it as \x22
or "
:
var app = angular.module("app", []);
You may also solve the problem by defining a regex in the controller with a regular string literal where you may use '.."..'
or "..\"..."
, and then use the variable name inside {{...}}
in the ng-pattern
attribute. Note that to match a literal \
you need to use 4 backslashes in the regex pattern.
var app = angular.module("app",[]);
app.controller("FormCtrl", function($scope) {
$scope.regex = "/^[^\\\\./:*?\"<>|][^\\\\/:*?\"<>|]{0,254}$/";
});