JQUERY - убрать все слова после символа

0

Мне нужно удалить и изменить (email) имена пользователей

Примеры:

1) [email protected]
2) [email protected]
3) [email protected]

должен быть результатом:

1) max
2) zulubrain
3) topmaster

я должен удалить все после символа @и очистить специальные символы, такие как ".", "-", "#",

Каков наилучший способ?

статический пример:

var username = "[email protected]";
username.replace(/[^a-zA-Z 0-9]+/g,''); 

должен очистить имя, но как я могу удалить все после "@"?

  • 0
    Просто возьмите подстроку до индекса @ и используйте существующее регулярное выражение в этой строке.
Теги:
replace

4 ответа

0
Лучший ответ

Вы можете просто использовать .split() для извлечения имени, а затем выполнить операцию очистки с использованием существующего кода.

Пример

var username = "[email protected]".split('@')[0].replace(/[^a-zA-Z 0-9]+/g,'');

DEMO

1

Вы можете сделать это:

var username = "[email protected]";
username = username.split('@')[0].replace(/[\W_]/g,""); 

Разделив код:

username.split('@')[0] // will give all characters before @

.replace(/[\W_]/g,"") // will remove any special character.
  • 0
    Downvoter, я неправильно понял вопрос. Я редактировал это. Пожалуйста, посмотрите на это;)
0

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

replace(/[_\s]/g, '-') заменит символы подчеркивания и пробелы дефисом или поместит "как это в соответствии с вашим требованием".

Для вашего требования:

string.split("@")[0].replace(/[^a-z0-9\s]/gi, '')

JsFiddleLink

0

Использовать .split() в jquery

var username = "[email protected]";
   console.log(username.split("@")[0]); 

Ещё вопросы

Сообщество Overcoder
Наверх
Меню