diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Scope.js | 2 | ||||
| -rw-r--r-- | src/parser.js | 33 | ||||
| -rw-r--r-- | src/validators.js | 3 |
3 files changed, 3 insertions, 35 deletions
diff --git a/src/Scope.js b/src/Scope.js index 203507a3..27df770d 100644 --- a/src/Scope.js +++ b/src/Scope.js @@ -66,7 +66,7 @@ function getterFn(path){ code += 'if(!s) return s;\n' + 'l=s;\n' + 's=s' + key + ';\n' + - 'if(typeof s=="function") s = function(){ return l'+key+'.apply(l, arguments); };\n'; + 'if(typeof s=="function" && !(s instanceof RegExp)) s = function(){ return l'+key+'.apply(l, arguments); };\n'; if (key.charAt(1) == '$') { // special code for super-imposed functions var name = key.substr(2); diff --git a/src/parser.js b/src/parser.js index 621b0045..01edb3f1 100644 --- a/src/parser.js +++ b/src/parser.js @@ -40,8 +40,6 @@ function lex(text, parseStringsForObjects){ readString(ch); } else if (isNumber(ch) || is('.') && isNumber(peek())) { readNumber(); - } else if ( was('({[:,;') && is('/') ) { - readRegexp(); } else if (isIdent(ch)) { readIdent(); if (was('{,') && json[0]=='{' && @@ -207,37 +205,6 @@ function lex(text, parseStringsForObjects){ } throwError("Unterminated quote", start); } - function readRegexp(quote) { - var start = index; - index++; - var regexp = ""; - var escape = false; - while (index < text.length) { - var ch = text.charAt(index); - if (escape) { - regexp += ch; - escape = false; - } else if (ch === '\\') { - regexp += ch; - escape = true; - } else if (ch === '/') { - index++; - var flags = ""; - if (isIdent(text.charAt(index))) { - readIdent(); - flags = tokens.pop().text; - } - var compiledRegexp = new RegExp(regexp, flags); - tokens.push({index:start, text:regexp, flags:flags, - fn:function(){return compiledRegexp;}}); - return; - } else { - regexp += ch; - } - index++; - } - throwError("Unterminated RegExp", start); - } } ///////////////////////////////////////// diff --git a/src/validators.js b/src/validators.js index 7318333a..8e288882 100644 --- a/src/validators.js +++ b/src/validators.js @@ -13,8 +13,9 @@ extend(angularValidator, { * @css ng-validation-error * * @example + * <script> var ssn = /^\d\d\d-\d\d-\d\d\d\d$/; </script> * Enter valid SSN: - * <input name="ssn" value="123-45-6789" ng:validate="regexp:/^\d\d\d-\d\d-\d\d\d\d$/" > + * <input name="ssn" value="123-45-6789" ng:validate="regexp:$window.ssn" > * * @scenario * it('should invalidate non ssn', function(){ |
