Regex:排除字符组合并限制Regex/jQuery中的某些字符(部分工作)
我试图在jQuery中使用Regex验证电子邮件输入-仅针对以下条件: 我希望允许的输入:Regex:排除字符组合并限制Regex/jQuery中的某些字符(部分工作),jquery,regex,regex-lookarounds,regex-group,Jquery,Regex,Regex Lookarounds,Regex Group,我试图在jQuery中使用Regex验证电子邮件输入-仅针对以下条件: 我希望允许的输入: 小写字母(多个) 数字(多个) 点/周期(多个) 破折号(多个) @标志(仅一个) 我要阻止的输入: 点/句点、破折号、字符串开头的@号 点/句点、破折号、字符串末尾的@号 一行两个点/句点或两条虚线 一行中的点/句点和破折号(或破折号和点/句点) 到目前为止,我提出了以下建议,但我在排除两个符号的组合以及将@符号限制为一个符号方面遇到了困难 有人能告诉我怎么做吗 注意: 我只想对上述标准和英文字
- 小写字母(多个)
- 数字(多个)
- 点/周期(多个)
- 破折号(多个)
- @标志(仅一个)
- 点/句点、破折号、字符串开头的@号
- 点/句点、破折号、字符串末尾的@号
- 一行两个点/句点或两条虚线
- 一行中的点/句点和破折号(或破折号和点/句点)
我只想对上述标准和英文字母(jQuery中涉及的所有其他内容)进行基本验证 我的正则表达式:
var val = $(this).val();
var checkEmail = /(?!^[@.-])(?!.*@@)(?!.*\.\.)(?!.*--)(?!.*[@.-]$)[0-9a-z@\.\-]/g;
if(val.match(checkEmail) {
console.log('input valid');
} else {
console.log('input invalid');
}
非常感谢,Tom您可以使用下面的正则表达式来实现您的结果:
^(?!.+?(?:\.-|\.\.|--|-@|\.@|@\.).+?)[^.-@ ][a-z0-9_.-]+@[a-z0-9_.-]+(?<=[^.-@ ])$
有帮助吗?@Mandy8055:看起来不错-非常感谢!我现在就来测试。