1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
var _ = require('lodash');
var whitespace = new RegExp('\\s', 'g')
var whitespaceHead = /^\s+/
var whitespaceTail = /\s+$/
var nonAlphanumerics = new RegExp('[^-_a-zA-Z0-9]', 'g')
var consecutiveDashes = new RegExp("-+", 'g')
var entities = new RegExp("[<>&]", 'g')
var util = {}
util.trim = function (s){ return (s || "").replace(whitespaceHead,"").replace(whitespaceTail,"") }
util.slugify = function (s){
return (s || "").toLowerCase().replace(whitespace,"-").replace(nonAlphanumerics, '-').replace(consecutiveDashes,"-")
}
util.sanitize = function (s){
return (s || "").replace(entities, "")
}
util.escape = function (s){
return (s || "").replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">")
}
util.capitalize = function (s) {
return (s || "").split(" ").map(util.capitalizeWord).join(" ");
}
util.capitalizeWord = function (s) {
return s.charAt(0).toUpperCase() + s.slice(1);
}
util.escapeRegExp = function (s) {
return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&")
}
util.htmlize = function(s) {
return s.replace(/\n/g,"<br>")
}
util.cleanQuery = function (query) {
var update = _.extend({}, query);
delete update._id;
delete update.created_at;
delete update.modified_at;
delete update.modified_by;
delete update.created_by;
return update;
}
util.ip2num = function(dot) {
var d = dot.split('.');
return ((((((+d[0])*256)+(+d[1]))*256)+(+d[2]))*256)+(+d[3]);
}
util.num2ip = function(num) {
if (! num) return ""
var d = num % 256;
for (var i = 3; i > 0; i--) {
num = Math.floor(num/256);
d = num % 256 + '.' + d;
}
return d;
}
module.exports = util
|