Плохой побег:
Вы даете replace
строку, содержащую литерал регулярного выражения. Вы почти наверняка захотите просто сделать его литералом регулярного выражения:
replace(/[^a-zA-Z0-9ñÑáÁéÉíÍóÓúÚüÜ¡¿\s+{0}]/g, '')
Это, безусловно, тот случай, если replace
, о котором идет речь, это String#replace
, что я предполагаю. Если это что-то другое (было бы удобно это знать) и вы действительно хотите, чтобы это была строка, просто убедитесь, что вы удваиваете все символы обратной косой черты в строке — \s
не является допустимым экранированием строки, это регулярное выражение построить. Таким образом, вы бы хотели, чтобы \\s
было там, чтобы строка заканчивалась \
, за которой следовал s
. Но опять же, я думаю, вам нужен литерал (там, где вы не стали бы этого делать).
Пустой блок:
Поместите что-нибудь в блок:
$('#myElement').keydown(function (event) { if (allowAlphaNumeric(event)) { } });
// here -----------------^
Неожиданное использование '|'
return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
Это выглядит хорошо для меня синтаксически (логически, см. примечание ниже), так как вам действительно нужен побитовый оператор. Просто jslint не понимает ваших намерений.
Но разве x | 0
не то же самое, что x
? Не могли бы вы просто удалить это?
person
T.J. Crowder
schedule
28.07.2011