я пытаюсь проверить строки для создания допустимых URL нашими из них
я должен только сохранить A-Z 0-9 и удалить другие символы из строки с помощью JavaScript или jQuery
например:
Belle†™s ресторан
я должен преобразовать его в:
Belle-s-Restaurant
так †символов ™s удаленный и только A-Z a-z 0-9 сохранены
спасибо
Добавив наш метод .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--------------"
.
Или это если вы хотите поставить тире на место других символов:
string.replace(/[^a-zA-Z0-9]/g,'-');
Предположим, что строка хранится в переменной с именем BizName
:
BizName.replace(/[^a-zA-Z0-9]/g, '-');
BizName
теперь должна включать только запрашиваемые символы.