rem: if (re_parts = final_re(the_card)) { 
add: if (re_parts = final_re.exec(the_card)) { 
context: Data.FormValidator.Constraints.prototype.match_cc_number = function (the_card, card_type) {    var card_type_abbr = card_type.toLowerCase.substr(0,1);    // get rid of any extra cruft in the card number    var card_re = /\D/gi;    var new_card = the_card.replace(card_re, '');    if (new_card.length == 0) return false;    var card_type_re = /^[admv]/i;    if (! card_type_re.test(card_type_abbr)) return false;    if ( (card_type_abbr == 'v' && new_card.substr(0,1) != '4') ||         (card_type_abbr == 'm' && new_card.substr(0,1) != '5') ||         (card_type_abbr == 'd' && new_card.substr(0,4) != '6011') ||         (card_type_abbr == 'a' && new_card.substr(0,2) != '34' &&                                   new_card.substr(0,2) != '37') ) {        return false;    }    var card_first_digit = new_card.substr(0,1);    var card_length      = new_card.length;    if ( (card_first_digit == '3' && card_length != 15) ||         (card_first_digit == '4' && card_length != 13 && card_length != 16) ||         (card_first_digit == '5' && card_length != 16) ||         (card_first_digit == '6' && card_length != 14 && card_length != 16) ) {        return false;    }    // calculate checksum.    var the_sum = 0;    var multiplier = 2; // alternates between 2 and 1, starting w/ 2    for (var i=(card_length -2); i >= 0; i--) {        var digit = parseInt(new_card.substr(i,1));        var product = multiplier * digit;        the_sum += (product > 9) ? product - 9 : product;        multiplier = 3 - multiplier;    }    the_sum %= 10;    if (the_sum) the_sum = 10 - the_sum;    // return whether the checksum matched    if (the_sum == new_card.substr(card_length -2, 1)) {        /* NOTE: I'd feel fine returning "new_card", since we already  *         *       make sure it was solid digits, but the below behavior *         *       is that of Data::FormValidator.pm, and consistency is *         *       more important than my druthers.                      */        var final_re = /^([\d\s]*)$/;        var re_parts;        if (re_parts = final_re(the_card)) {            return re_parts[1];        } else {            return false;        }    } else {        return false;    }};
meta: 10202	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/10202/dc57aabb3a0e4ad87b0ed1ff02a399742642d149/FormValidator.js/clean/Data.FormValidator/lib/Data/FormValidator.js