только сохраните A-Z 0-9 и удалите другие символы из строки с помощью JavaScript

я пытаюсь проверить строки для создания допустимых URL нашими из них

я должен только сохранить A-Z 0-9 и удалить другие символы из строки с помощью JavaScript или jQuery

например:

Belle†™s ресторан

я должен преобразовать его в:

Belle-s-Restaurant

так †символов ™s удаленный и только A-Z a-z 0-9 сохранены

спасибо

39
задан M.E 31 December 2009 в 03:15
поделиться

3 ответа

Добавив наш метод .cleanup() к самому объекту String, вы можете очистить любую строку в Javascript, просто вызвав локальный метод, например:

# Attaching our method to the String Object
String.prototype.cleanup = function() {
   return this.toLowerCase().replace(/[^a-zA-Z0-9]+/g, "-");
}

# Using our new .cleanup() method
var clean = "Hello World".cleanup(); // "hello-world"

Потому что в конце регулярного выражения есть знак плюса, совпадающий с одним или более символом. Таким образом, на выходе всегда будет один '-' для каждой серии неалфавитно-цифровых символов:

# An example to demonstrate the effect of the plus sign in the regular expression above
var foo = "  Hello   World    . . .     ".cleanup(); // "-hello-world-"

Без знака плюс в последнем примере результат был бы "--hello-world--------------".

.
55
ответ дан 27 November 2019 в 02:41
поделиться

Или это если вы хотите поставить тире на место других символов:

string.replace(/[^a-zA-Z0-9]/g,'-');
5
ответ дан 27 November 2019 в 02:41
поделиться

Предположим, что строка хранится в переменной с именем BizName:

BizName.replace(/[^a-zA-Z0-9]/g, '-');

BizName теперь должна включать только запрашиваемые символы.

2
ответ дан 27 November 2019 в 02:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: