Мне нужно удалить и изменить (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,'');
должен очистить имя, но как я могу удалить все после "@"?
Вы можете просто использовать .split() для извлечения имени, а затем выполнить операцию очистки с использованием существующего кода.
Пример
var username = "[email protected]".split('@')[0].replace(/[^a-zA-Z 0-9]+/g,'');
Вы можете сделать это:
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.
replace(/[^a-z0-9\s]/gi, '')
будет фильтровать строку до только буквенно-цифровых значений и
replace(/[_\s]/g, '-')
заменит символы подчеркивания и пробелы дефисом или поместит "как это в соответствии с вашим требованием".
Для вашего требования:
string.split("@")[0].replace(/[^a-z0-9\s]/gi, '')
Использовать .split()
в jquery
var username = "[email protected]";
console.log(username.split("@")[0]);
@
и используйте существующее регулярное выражение в этой строке.