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