Javascript 我想做字符串验证 我们需要考虑下面的字符串作为用例,首先我要拆分 按“,”然后按“@”
如果所有域名都是相同的(要么全部是gmail,要么全部是yahoo),则按@拆分后的域名有效 否则无效 请帮我分两部分Javascript 我想做字符串验证 我们需要考虑下面的字符串作为用例,首先我要拆分 按“,”然后按“@”,javascript,Javascript,如果所有域名都是相同的(要么全部是gmail,要么全部是yahoo),则按@拆分后的域名有效 否则无效 请帮我分两部分 String input1 = example@gmail.com , example1@gmail.com; String input2 = example@yahoo.com , example1@gmail.com; String input 1 == valid. String input 2 == Invalid. 下面是一个简单的示例,您可以
String input1 = example@gmail.com , example1@gmail.com;
String input2 = example@yahoo.com , example1@gmail.com;
String input 1 == valid.
String input 2 == Invalid.
下面是一个简单的示例,您可以使用[0]和[1]从拆分中访问数组
var input = 'example@gmail.com , example1@ymail.com, example1@yahoo.com';
input.split(',').forEach(email => {
const domain = email.split('@')[1].trim();
if (domain === 'gmail.com' || domain === 'yahoo.com') {
console.log("Email address " + email + " is valid.");
} else {
console.log("Email address " + email + " is not valid.");
}
})
使用函数
isValid = (emails)=>{
let list = emails.split(','), isValid = true
list.forEach((email)=>{
if(!email.includes('@gmail.com')){
isValid = false
}
})
return isValid
}
isValid(' example@gmail.com , example1@hotmail.com;')
被,,
然后检查每封电子邮件的内容
您可以添加一个secound参数来检查电子邮件类型并使其更通用
isValid = (emails, validEmail)=>{
let list = emails.split(','), isValid = true
list.forEach((email)=>{
if(!email.includes(validEmail)){
isValid = false
}
})
return isValid
}
isValid(' example@gmail.com , example1@hotmail.com', '@gmail.com')
您可以提取域,然后将它们添加到集合
,并通过检查集合
的大小来查看它们是否唯一
另外一个额外的功能是,无论字符串中有多少封电子邮件,这都可以正常工作
const input1='1'example@gmail.com , example1@gmail.com';
常量输入2=example@yahoo.com , example1@gmail.com';
功能有效输入(输入){
const domains=input.split(',').map(email=>email.trim().split('@')[1])
返回新集合(域)。大小===1;
}
log('input1有效吗?',validInput(input1));
log('input2有效吗?',validInput(input2))代码>您是否尝试过使用?请告诉我们如何。我可以第一次与…分开,然后与…分开。。如何使用@mohammedshail拆分同一字符串您应该查看split()
返回的变量类型。对字符串调用split
函数并返回字符串数组。因此,对于您的input1
,split将返回[”example@gmail.com "," example1@gmail.com“]
。要进行另一次拆分,需要将其应用于数组中的每个项。我建议你看看这个。