Подтвердить что ты не робот

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

Я пытаюсь проверить строки, чтобы сделать действительные URL-адреса нашими из них

Мне нужно только сохранить A-Z 0-9 и удалить другие символы из строки, используя javascript или jquery

например:

Belleâ € ™ s Restaurant

Мне нужно преобразовать его в:

Belle-s-ресторан

поэтому символы удаляются и сохраняются только A-Z a-z 0-9

спасибо

4b9b3361

Ответ 1

Добавив наш метод .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--------------" для последнего примера.

Ответ 2

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

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

Ответ 3

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

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

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