Ответ 1
Недопустимые символы преобразуются в 0xFFFD при разборе, поэтому любые недопустимые коды символов заменяются на:
myString = myString.replace(/\uFFFD/g, '')
Вы можете получить все типы недействительных сортов символов здесь
Может ли кто-то предоставить регулярное выражение для поиска и замены нелегальных символов, найденных
Пример, удаление
Я не уверен, сколько типов "незаконных" символов существует, но я думаю, что это будет хорошее начало.
Большое спасибо
edit - У меня нет контроля над данными, мы пытаемся создать улов для потенциально плохих данных, которые мы получаем.
Недопустимые символы преобразуются в 0xFFFD при разборе, поэтому любые недопустимые коды символов заменяются на:
myString = myString.replace(/\uFFFD/g, '')
Вы можете получить все типы недействительных сортов символов здесь
Вместо того, чтобы иметь черный список, вы можете использовать белый список. например Если вы хотите принимать буквы, цифры, пробелы и несколько знаков препинания, вы можете сделать
myString.replace(/[^a-z0-9 ,.?!]/ig, '')
Попробуйте это, он будет работать для всех неожиданных символов, таких как ♫ ◘ и т.д.
dataStr.replace(/[\u{0080}-\u{FFFF}]/gu,"");