Javascript 什么正则表达式可以验证这种类型的字符串?

Javascript 什么正则表达式可以验证这种类型的字符串?,javascript,regex,Javascript,Regex,如何在js中使用正则表达式验证这一点 first.last.wrt 或 first.last 两者都是电子邮件地址的一部分,只有上述格式中的名称部分才应进行验证 Ex:这些应该使用正则表达式进行验证: john.doe.wrt 无名氏 如果您只想验证字母/数字/下划线: (\w+?)\.(\w+?)(?:\.wrt)? 如果您希望在“第一”和“最后”部分中验证任何内容: 捕获组: 名字 姓 我认为撇号是不允许的,但是你可以把它们放在方括号内 /^[a-z]+\.[a-z]+(\.wrt)?

如何在js中使用正则表达式验证这一点

first.last.wrt

first.last
两者都是电子邮件地址的一部分,只有上述格式中的名称部分才应进行验证

Ex:这些应该使用正则表达式进行验证:

john.doe.wrt
无名氏

如果您只想验证字母/数字/下划线:

(\w+?)\.(\w+?)(?:\.wrt)?
如果您希望在“第一”和“最后”部分中验证任何内容:

捕获组:

  • 名字
  • 我认为撇号是不允许的,但是你可以把它们放在方括号内

    /^[a-z]+\.[a-z]+(\.wrt)?$/
    

    根据您的示例,这是可行的。

    您可以发布一些不应该验证的示例吗?这里的模式是什么?它是电子邮件地址的第一部分。因此,@不是有效字符。电子邮件地址的第一部分中可能使用的任何其他无效字符无效。因此,您只想验证任何电子邮件地址吗?没有特定的模式或格式要求?@user730108:
    @
    对于您的特定用途可能不是有效的字符,但只要它被引用,根据RFC,它就是有效的。为什么不改为使用
    \w
    [A-Za-z]
    \w
    @SpikeX:几乎完全相同,因为在我所知的任何语言中,你都不能用任何名称来表示数字或下划线?
    \w
    包含的不仅仅是
    [A-Za-z]
    (我相信
    \ucode>字符?)我没有被标记为一个不太完整的答案的答案,这个答案使用了与我完全相同的正则表达式,但一分钟后就出现了?什么?在第一个修饰符上不需要非贪婪修饰符,因为
    不是
    \w
    的一部分。该修饰符与大写字母不匹配。我知道没有具体说明,但如果你能匹配“乔”,你就没有理由不能匹配“乔”。您还应该将最后一个捕获组设置为非捕获组,因为保存它没有意义。您使用
    (?:…)
    而不是
    (…)
    。发布的示例不起作用。我使用了.net正则表达式验证器,并在表达式中放入“/^[a-z]+\[a-z]+(\.wrt)?$/”来验证属性,但它说john.doe.ctr无效?@SpikeX:感谢您的反馈,但我只给出了给定示例的最小正则表达式。更多的是我们的假设。:)@用户730108:这是因为
    ctr
    wrt
    不匹配。如果你想得到更好的答案,你应该在问题中更好地描述什么是有效的,什么是无效的。它应该与电子邮件地址的第一部分相匹配(所以在@之前的所有内容都是有效的)。它不应与@匹配,因为在电子邮件地址的第一部分中该名称无效。
    if(/^[a-z]+\.[a-z]+(\.wrt)?$/i.test('the string')) {
        // It validates!
    } else {
        // It doesn't...
    }
    
    /^[a-z]+\.[a-z]+(\.wrt)?$/