В каких браузерах можно воспроизвести это?
Я сделал это в Firefox 3.5.2, но не смог воспроизвести его в IE 6.0. Изучив еще немного, я заметил, что в этой строке ...
if (noSpecialChars.test($("#name").val())) {
... вызов .test () возвращал true
, затем false
, в чередующемся порядке (только в Firefox), предполагая некоторую проблему с RegExp
. Поэтому я попытался заменить неявное создание RegExp следующим образом:
//var noSpecialChars = /[^a-zA-Z0-9]/g;
var noSpecialChars = new RegExp("[^a-zA-Z0-9]");
И это решило проблему для меня.