【发布时间】:2016-11-28 10:27:41
【问题描述】:
我在 HTML 文本区域中有这个正则表达式验证表达式,以避免用户在那里输入电子邮件地址:
/.*^((?![a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+).)*$/
验证器工作正常,但是,当输入返回时,表达式将不再允许任何文本。比如:
此处为第 1 行(没有电子邮件,一切都很好)
[返回后不允许再输入]
试图研究,但找不到任何有用的东西,在此先感谢!
【问题讨论】:
-
正则表达式没有多大意义,尤其是开头
.*^。如果您使用的是 javascript,请将其替换为^[\s\S]*。自从.与换行符不匹配后,我的第一个猜测。 -
实际上,
.*^部分始终与此处的字符串开头匹配。正则表达式匹配一个看起来不像电子邮件的字符串。如果锚点与行边界匹配,那么它只会使该行失败(如果任何行类似于电子邮件)。请提供一些代码。 -
如果用户添加一些间距或替换“@”,例如使用“[at]”仍然可以输入人类可读的电子邮件地址...
标签: regex validation email