utilsxo
Version:
A small, portable library full of utilities, functions, and neat tricks for your project/application
29 lines (28 loc) • 1.08 kB
JavaScript
/**
* Created by Curtis Gervais on 4/16/2017.
* License: MIT
*
* @desc Security tools for Utils X module
*/
module.exports = {
basic: function(stringOfData) {
return String(stringOfData).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"');
},
strip_tags: function(input, allowed) {
allowed = (((allowed || '') + '').toLowerCase().match(/<[a-z][a-z0-9]*>/g) || []).join('')
var tags = /<\/?([a-z][a-z0-9]*)\b[^>]*>/gi
var commentsAndPhpTags = /<!--[\s\S]*?-->|<\?(?:php)?[\s\S]*?\?>/gi
return input.replace(commentsAndPhpTags, '').replace(tags, function ($0, $1) {
return allowed.indexOf('<' + $1.toLowerCase() + '>') > -1 ? $0 : ''
})
},
full: function(input) {
var tmpInput = input;
tmpInput = this.basic(tmpInput);
tmpInput = this.strip_tags(tmpInput);
return tmpInput;
},
query: function(input) {
return String(input).replace(/"/g, '').replace(/'/, '').replace(/&/g, '');
}
};