|
|
|
@ -102,18 +102,24 @@
|
|
|
|
|
invalidUnicodeChars : XRegExp('[^\\p{L}\\s\\d\\-_]', 'g'),
|
|
|
|
|
invalidLatinChars : /[^\w\s\d\-_]/g,
|
|
|
|
|
|
|
|
|
|
trimRegex : /^\s+|\s+$/g,
|
|
|
|
|
collapseWhitespace : /\s+/g,
|
|
|
|
|
collapseDash : /-+/g,
|
|
|
|
|
trimTrailingDash : /-$/g,
|
|
|
|
|
isLatin : /^[\w]+$/,
|
|
|
|
|
|
|
|
|
|
//http://dense13.com/blog/2009/05/03/converting-string-to-slug-javascript/
|
|
|
|
|
slugify: function(str) {
|
|
|
|
|
str = str.replace(/^\s+|\s+$/g, ''); // trim
|
|
|
|
|
str = str.replace(utils.trimRegex, '');
|
|
|
|
|
str = str.toLowerCase();
|
|
|
|
|
if(/^[\w]+$/.test(str)) {
|
|
|
|
|
if(utils.isLatin.test(str)) {
|
|
|
|
|
str = str.replace(utils.invalidLatinChars, '-');
|
|
|
|
|
} else {
|
|
|
|
|
str = XRegExp.replace(str, utils.invalidUnicodeChars, '-');
|
|
|
|
|
}
|
|
|
|
|
str = str.replace(/\s+/g, '-') // collapse whitespace and replace by -
|
|
|
|
|
str = str.replace(/-+/g, '-'); // collapse dashes
|
|
|
|
|
str = str.replace(/-$/g, '');
|
|
|
|
|
str = str.replace(utils.collapseWhitespace, '-')
|
|
|
|
|
str = str.replace(utils.collapseDash, '-');
|
|
|
|
|
str = str.replace(utils.trimTrailingDash, '');
|
|
|
|
|
return str;
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
@ -206,7 +212,7 @@
|
|
|
|
|
|
|
|
|
|
if (!String.prototype.trim) {
|
|
|
|
|
String.prototype.trim = function() {
|
|
|
|
|
return this.replace(/^\s+|\s+$/g, '');
|
|
|
|
|
return this.replace(utils.trimRegex, '');
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|