aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Scope.js2
-rw-r--r--src/parser.js33
-rw-r--r--src/validators.js3
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(){