正则表达式 [-.-_A-Za-z0-9] 全文如为/^[-.-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/是javascript用到的,作用是检查一个邮箱地址是否正确.请高手帮解析前面部分,如果可以请帮忙进行优化.谢谢你cgjp123,

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/25 12:29:36
正则表达式 [-.-_A-Za-z0-9] 全文如为/^[-.-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/是javascript用到的,作用是检查一个邮箱地址是否正确.请高手帮解析前面部分,如果可以请帮忙进行优化.谢谢你cgjp123,
xV]OG+TY/Z$ r%j*TԪql$lccawMzmffv),TM̝{Ͻ3;3Stylgg|XfcFlطO_ƾXMEw޸}}k_M8c'yמlT 6Ŷ)m9-:.o]7-#{aEdܱmQ| b΋6a #Uo=̱aV?6jx~rjZd/ӗF*(P^}X|}u~ @ܪa-L|EuN-62mPQ*s򁗂҈'OµNU)5+ܪj[3<Kl%YٷÚ6i`o-Ա8qB/J_)Pڻ%}M"N,1U_Ve^hElba2Wȕl46d  x%0uo|N Y?.pk ubJe+Cc4UMQX ppw) hP{NWL(Sݗ`[0mh

正则表达式 [-.-_A-Za-z0-9] 全文如为/^[-.-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/是javascript用到的,作用是检查一个邮箱地址是否正确.请高手帮解析前面部分,如果可以请帮忙进行优化.谢谢你cgjp123,
正则表达式 [-.-_A-Za-z0-9]
全文如为/^[-.-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/
是javascript用到的,作用是检查一个邮箱地址是否正确.
请高手帮解析前面部分,如果可以请帮忙进行优化.
谢谢你cgjp123,对于你的回答,我一定会采纳为最佳答案的,且会给你加分的..
不过我还不能关闭这个问题,我还有几点疑问想问一下:
1.我的代码里最前面的/^是表示正则表达式的开始的吧?
2.按我的代码,第二个横线是不是可以去掉,而且原意不变?(我试过,去掉第一个不可以,去掉第二个代码能正常运行),如果不可以去掉那么要它有什么用?
我试过用/^[-.-_-----A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/这个代码也能用,也就是说从我那里的第三个横线开始加多少个都可以.
3.df.-.g_d._fg@aa.aa.aa.bbbbbbbbb这个字符串可以在你的表达式里通过,这个违背了,我之前的意思:及最后一个单词后面只能是两个或三个字母.

正则表达式 [-.-_A-Za-z0-9] 全文如为/^[-.-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/是javascript用到的,作用是检查一个邮箱地址是否正确.请高手帮解析前面部分,如果可以请帮忙进行优化.谢谢你cgjp123,
/^[-.-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/
分成2部分,@之前和之后
@之前
^[-.-_A-Za-z0-9]+ 表示允许出现- . _ 和字母数字这些,且必须大于1个字符,字数无上限,而且他们出现的位置都不限
@之后
([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$
([_A-Za-z0-9]+\.)+ 表示允许大于1个字母数字出现,后面跟 .
[A-Za-z0-9]{2,3} 表示允许2个或3个字母数字的组成的单词出现
下面的验证,根据你的修改了一些
/^[^\_][\w\-\.]+@[\w\.]+[\w]{2,3}$/
@之前
^[^\_][\w\-\.]+ 排除下划线出现在用户名头位置,\w表示所有字母和数字,下划线
后面都差不多意思
------------------------------------
不好意思,没注意到你的补充,现在才看到
1.我的代码里最前面的/^是表示正则表达式的开始的吧?
a: 是的,^是开始符号 $是结束符号
2.按我的代码,第二个横线是不是可以去掉,而且原意不变?(我试过,去掉第一个不可以,去掉第二个代码能正常运行),如果不可以去掉那么要它有什么用?
我试过用/^[-.-_-----A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/这个代码也能用,也就是说从我那里的第三个横线开始加多少个都可以.
3.df.-.g_d._fg@aa.aa.aa.bbbbbbbbb这个字符串可以在你的表达式里通过,这个违背了,我之前的意思:及最后一个单词后面只能是两个或三个字母.
a:俩个短横线保留一个就可以了,不能去掉第一个的原因是第二个短横线-应该被当成连接符了,就想A-Z这样的中间的链接符,你去掉第一个的话,在第二个短横线那里加个反斜杠\就好了
你提出的错误确实是存在,应该是[\w.]+这里出问题了,这[]里面的是可选的,而不是必须的,所以在匹配bbbbbbbbb的时候在[\w.]+这里成功,最后的[\w]{2,3}没起到作用,造成了这个错误,我改了一下,这样在没有到字串末尾时连接点.就成为必须字符
/^[^\_][\w\-\.]+@([\w]+\.)+[\w]{2,3}[^\_]$/