如何使用JavaScript从以下电子邮件地址someone@example.com中提取someone?
谢谢。
如何使用JavaScript从以下电子邮件地址someone@example.com中提取someone?
谢谢。
使用正则表达式匹配
带有安全检查
var str="someone@example.com";
var nameMatch = str.match(/^([^@]*)@/);
var name = nameMatch ? nameMatch[1] : null;
写成一行
var name = str.match(/^([^@]*)@/)[1];
使用替换表达式
带有安全检查
var str="someone@example.com";
var nameReplace = str.replace(/@.*$/,"");
var name = nameReplace!==str ? nameReplace : null;
作为一行书写
var name = str.replace(/@.*$/,"");
分割字符串
带有安全检查
var str="someone@example.com";
var nameParts = str.split("@");
var name = nameParts.length==2 ? nameParts[0] : null;
写在一行中
var name = str.split("@")[0];
每个例子的性能测试
"someone@example.com".split('@')[0]
var email = "someone@example.com";
var username = email.substring(0,email.indexOf('@'))
用户名:
"someone@example.com".replace(/^(.+)@(.+)$/g,'$1')
服务器:
"someone@example.com".replace(/^(.+)@(.+)$/g,'$2')
2. npm i generate-username-from-email
const generateUsername = require('generate-username-from-email')
var email = "patidarparas13@gmail.com"
var username = generateUsername(email)
console.log(username)
//Output: patidarparas13
我的2021年更新。这将正确地从包含多个@符号的电子邮件地址中输出用户名。仅使用“@”进行拆分是不安全的,因为如果带引号,允许使用多个@符号。
function getUsernameFromEmail(email){
var domainArray = email.split('@')
var domain = domainArray[domainArray.length-1]
var reverseEmail = email.split( '' ).reverse( ).join( '' );
var reverseDomain = domain.split( '' ).reverse( ).join( '' );
var backwardUsername = reverseEmail.replace(reverseDomain+'@','')
var username = backwardUsername.split( '' ).reverse( ).join( '' );
return username;
}
console.log(getUsernameFromEmail('test@testhello@example.com'))
// 输入:test.user@example.com。输出:Test User
// 将用户电子邮件拆分,然后将每个单词的第一个字符大写。
public getUserName(input: string): string {
if (!input) {
return ''
}
if (!input.includes('@')) {
return input;
} else {
const cleanedInput = input.split('@')[0]?.replace(/[^\w]/g, ' ').split(' ');
const capitalizedInput = cleanedInput?.map(word => {
return word[0]?.toUpperCase() + word.substring(1);
}).join(' ');
return capitalizedInput;
}
}
你需要的方法是 string.split(separator, limit)
"someone@example.com".split("@")[0]
myemailaddress
。getUsername = (email) => {
return email.substring(0, email.lastIndexOf("@"));
}
const userEmail = 'myemailaddress@gmail.com';
getUsername(userEmail);
str.split("@").reduce(user => user)
- schablukstr.substring(0,str.indexOf("@"))
?由于你的声望大约是我的65倍,我相信我肯定错过了什么,只是不知道是什么。 - myfunkyside