JavaScript Удалить строку специальных символов не работает
Я пытаюсь удалить специальные символы, которые могут появляться в моих тегах Google Analytics, так как эти специальные символы вызывают ошибки сценариев в некоторых версиях IE. У меня есть эта функция:
function removeSplChars(inStr) {
inStr = inStr.replace(/[^a-zA-Z0-9 ]/g, "");
return inStr;
}
и есть код GA, который в настоящее время работает:
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', '<c:out value="${profileId}"/>']);
<c:choose>
<c:when test="${(lastCmdName eq 'CategoryDisplay') or (lastCmdName eq 'ProductDisplay')}" >
_gaq.push(['_setCustomVar',
2, // This custom var is set to slot #2.
'<c:choose><c:when test="${WCParam.source eq 'search'}">Search</c:when><c:otherwise><c:out value="${topCat}" /></c:otherwise></c:choose>', // The top-level name for your online content categories.
'<c:choose><c:when test="${WCParam.source eq 'search'}">Search <c:out value="${WCParam.searchTerm}" /></c:when><c:otherwise><c:out value="${topCat}" />|<c:out value="${subCatA}" />|<c:out value="${subCatB}" />|<c:out value="${subCatC}" /></c:otherwise></c:choose>', // Records value of breadcrumb name
3 // Sets the scope to page-level.
]);
</c:when>
<c:otherwise>
</c:otherwise>
</c:choose>
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
Но когда я помещаю эту функцию в код, я все еще вижу специальные символы, появляющиеся в Chrome Debugger. Например, когда я открываю страницу, на которой есть продукт под названием "Matt" s " это проявляется как Мэтт. Что я хочу, так это Мэттс. У нас есть другие названия продуктов с амперсандами и другими специальными символами, поэтому я просто хочу разрешить A-z и цифры (без заглавных букв / без заглавных букв)
Любой совет будет принят во внимание. Я просмотрел следующие посты на SO, но пока не нашел ничего, что помогло бы мне сделать эту работу:
Как обрабатывать (& # xAE; & # xB4; & # xA9; & # xBF; & # xA1; & # xB0; & # xC0;) специальные символы в javascript?
javascript regexp удалить все специальные символы
Удалите все специальные символы, кроме пробела, из строки, используя JavaScript
Я новичок в JSP и JavaScript, поэтому я уверен, что не размещаю код в нужном месте, или, может быть, мне нужно добавить что-то еще на страницу? Я попытался поместить функцию removeSplChars в () или добавить; и не повезло. К сожалению, мне нужно научиться этому на работе, поэтому я должен сосредоточиться на выполнении заданий, которые мне были даны, а не тратить время на истинное понимание логики / синтаксиса языка.