JQuery удалить специальные символы из строки и многое другое - PullRequest
53 голосов
/ 24 января 2012

У меня есть такая строка:

var str = "I'm a very^ we!rd* Str!ng.";

То, что я хотел бы сделать, это удалить все специальные символы из вышеуказанной строки и заменить пробелы, и, если они набираются, подчеркивание, с символом -.

Приведенная выше строка будет выглядеть после «преобразования»:

var str = 'im-a-very-werd-strng';

Ответы [ 6 ]

112 голосов
/ 24 января 2012

replace(/[^a-z0-9\s]/gi, '') отфильтрует строку до буквенно-цифровых значений, а replace(/[_\s]/g, '-') заменит подчеркивания и пробелы дефисами:

str.replace(/[^a-z0-9\s]/gi, '').replace(/[_\s]/g, '-')

Источник для регулярных выражений: RegEx для Javascript, чтобы разрешить только буквенно-цифровой

Вот демоверсия: http://jsfiddle.net/vNfrk/

24 голосов
/ 24 января 2012

Предполагая, что под "особенным" вы подразумеваете несловарные символы, это довольно просто.

str = str.replace(/[_\W]+/g, "-")
13 голосов
/ 24 января 2012
str.toLowerCase().replace(/[\*\^\'\!]/g, '').split(' ').join('-')
3 голосов
/ 16 декабря 2017

Удаление чисел, подчеркивания, пробелов и специальных символов из строкового предложения.

str.replace(/[0-9`~!@#$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/gi,'');

Демо

1 голос
/ 23 мая 2018

Удалить / заменить все специальные символы в Jquery:

Если str = Меня зовут "Ghanshyam" и из фона "java"

и хотите удалить все специальные символы ("), затем используйте его

str = str.replace (/ "/ g, '')

результат: Меня зовут Ганшьям и из происхождения Java

Где g означает Global @ Спасибо

1 голос
/ 06 ноября 2013

Поскольку я не могу комментировать ответ Джаспера, я хотел бы указать на небольшую ошибку в его решении:

str.replace(/[^a-z0-9\s]/gi, '').replace(/[_\s]/g, '-');

Проблема в том, что первый код удаляет все дефисы, а затем пытаетсязаменить их :) Вы должны отменить вызовы замены, а также добавить дефис во второе регулярное выражение замены.Как это:

str.replace(/[_\s]/g, '-').replace(/[^a-z0-9-\s]/gi, '');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...