var Filter = {

    regAlnum:       /[^a-zа-я_0-9\s]/g,

    regAlpha:       /[^a-zа-я_\s]/g,

    regDigits:      /[^\d\.\d]/g,

    regInt:         /[^\d]/g,

    regStripTags:   /(<([^>]+)>)/ig,

    regTrim:        /^\s*(.+?)\s*$/,
    
    regNl2br:        /\r\n|\r|\n/g,

    alnum: function(testValue) {
         return testValue.replace(this.regAlnum, '');
    },
    alpha: function(testValue) {
         return testValue.replace(this.regAlpha, '');
    },
    digits: function(testValue) {
         return testValue.replace(this.regDigits, '');
    },
    escape: function(value) {
         value = value.replace(/["]/g,'\\"');
         return escape(value);
    },
    encodeURIComponent: function(value) {
         value = value.replace(/["]/g,'\\"');
         return encodeURIComponent(value);
    },
    int: function(testValue) {
         return testValue.replace(this.regInt, '');
    },
    trim: function(testValue) {
         return testValue.replace(this.regTrim, '$1');
    },
    stringToLower: function(testValue) {
         return testValue.toLowerCase();
    },
    stringToUpper: function(testValue) {
         return testValue.toUpperCase();
    },
    stripTags: function(testValue) {
        return testValue.replace(this.regStripTags, '');
    },
    nl2br: function(testValue) {
        return testValue.replace(this.regNl2br, '<br/>');
    },
    nl2BBbr: function(testValue) {
        return testValue.replace(this.regNl2br, '[BR/]');
    }
};
