如何对 space 分隔值进行 Yup 电子邮件验证?

How to do a Yup email validation on space separated values?

我有一个字符串数据,例如str="abc@gmail.com bcd@gmail.com" 我需要对此字符串执行 yup 验证我该怎么做。

我在这里 github 找到了逗号分隔值的答案。我试图通过将 split(/[\s,]+/) 更改为 str.split("\s+") 来调整此答案,但它不起作用。

您可以使用以下正则表达式从字符串中拆分电子邮件:

// this will split the emails regardless of how many white-spaces there are between emails
str.split(/[\s]+/);

检查并运行以下代码片段以查看上面的正则表达式拆分白色-space分隔的电子邮件:

// emails with random amount of white-spaces between them
const str="abc@gmail.com bcd@gmail.com   def@gmail.com       fgh@gmail.com";

str.split(/[\s]+/).map(e=> {
    console.log("Email: " + e);
})


但是,如果您的字符串中的电子邮件之间有相等的 white-space,您可以只在 split() 方法中指定它,而无需像这样使用正则表达式:

// change the number of spaces between the quotes according to the number of white-spaces between the emails in your string
str.split(' ');

检查并运行以下代码片段以获取上述方法的实际示例:

const str="abc@gmail.com    bcd@gmail.com    def@gmail.com    fgh@gmail.com";

str.split('    ').map(e=> {
    console.log("Email: " + e);
})

你试过了吗str.split(" ");