Merge pull request #6 from ajlyon/diacritic

Short-circuit removeDiacritics on alphanumeric and other basic input
This commit is contained in:
Simon Kornblith 2011-11-07 21:04:35 -08:00
commit 7a5b1f7e32

View file

@ -671,6 +671,9 @@ Zotero.Utilities = {
* From http://lehelk.com/2011/05/06/script-to-remove-diacritics/ * From http://lehelk.com/2011/05/06/script-to-remove-diacritics/
*/ */
"removeDiacritics": function (str, lowercaseOnly) { "removeDiacritics": function (str, lowercaseOnly) {
// Short-circuit on the most basic input
if (/^[a-zA-Z0-9_-]*$/.test(str)) return str;
var map = this._diacriticsRemovalMap.lowercase; var map = this._diacriticsRemovalMap.lowercase;
for (var i=0, len=map.length; i<len; i++) { for (var i=0, len=map.length; i<len; i++) {
str = str.replace(map[i].letters, map[i].base); str = str.replace(map[i].letters, map[i].base);
@ -1296,4 +1299,4 @@ Zotero.Utilities = {
//this._cache[item.id] = cslItem; //this._cache[item.id] = cslItem;
return cslItem; return cslItem;
} }
} }