如何解决如何检测某个字符串不是电子邮件地址而是Twitter ID?
| 有没有办法区分电子邮件地址和Twitter ID? 两者都使用\'@ \'字符,而电子邮件正则表达式将包含在twitter id正则表达式中。 解决此问题的最佳方法是什么? 我是否应该在\'@ \'字符前要求空格以标识它是Twitter ID?解决方法
您可以使用
(?<=\\s)
来测试它是否带有空格,然后检查仅[A-Za-z0-9_]
的twitter ID的有效字符。
得到的正则表达式为:(?<=\\s|^)@[A-Za-z0-9_]+
您最终可以在其后添加一个对点,逗号或空格的检查,以检查其是否在句子中正确格式化,而不是一些奇怪的伪像:
(?<=\\s|^)@[A-Za-z0-9_]+(?=[\\s.,])
请注意,先行查找和后行查找(?<=
和ѭ5might)可能无法以您选择的语言显示,但由于您未指定,因此我假设它可以。
,不能完全确定Twitter用户名中允许使用哪些字符,但基本上是这样的:
/(?:^|\\s)@[a-zA-Z0-9_.-]+\\b/
,电子邮件地址永远不会以@开头,而twitter id总是如此。
isTwitter = address[0] == \'@\'
,Twitter ID不会通过电子邮件正则表达式检查。
常规电子邮件:
^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$
twitter将没有最后一个字符:
^@[A-Za-z0-9_]+$
因此,请检查其是否为有效的电子邮件,否则请检查其是否为有效的Twitter ID。
进一步阅读:
如何查找或验证电子邮件地址
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。