如何用JavaScript正则结合str.split提取数据中的邮箱与密码
用JavaScript拆分多组用户信息,提取邮箱和密码
首先得明确你的字符串结构:多组用户信息之间肯定有个分隔符(比如分号、换行),你之前只拿到首个字符,大概率是没先拆分多组,或者用错了分隔符。
给你直接上可运行的代码示例,按需调整分隔符就行:
// 假设你的多组用户信息是用分号分隔的,实际按你的字符串调整分隔符 const userData = "Sephora26:sephora@example.com:Sep@2024:生日?:19980520;Bob45:bob@test.com:Bob@678:爱好?:篮球"; // 第一步:把整串拆成单个用户的信息数组,过滤空项避免末尾多余分隔符干扰 const userList = userData.split(';').filter(item => item.trim()); // 第二步:遍历每个用户,拆分字段并提取邮箱、密码(下划线占位不需要的用户名) const extractedInfo = userList.map(user => { const [_, email, password] = user.split(':'); return { email, password }; }); console.log(extractedInfo); // 输出结果: // [ // { email: 'sephora@example.com', password: 'Sep@2024' }, // { email: 'bob@test.com', password: 'Bob@678' } // ]
关键注意事项
- 多组之间的分隔符要对应:如果你的字符串是每行一个用户,就把
split(';')改成split('\n');如果是逗号分隔,就用split(',') - 必须保证每组格式严格符合「用户名:邮箱:密码:问题:答案」,不然拆分后的索引会错位,导致拿错数据
- 如果字符串里有多余空格或空项,记得用
filter过滤掉,避免后续报错
内容的提问来源于stack exchange,提问作者ronaaa
相关产品推荐
相关产品推荐

