^([A-Za-z0-9])|([A-Za-z])+$ 这样的正则表达式错误的,主要值用来判断用户名是英文的字符串,或者说是英

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/15 08:32:48
^([A-Za-z0-9])|([A-Za-z])+$ 这样的正则表达式错误的,主要值用来判断用户名是英文的字符串,或者说是英

^([A-Za-z0-9])|([A-Za-z])+$ 这样的正则表达式错误的,主要值用来判断用户名是英文的字符串,或者说是英
^([A-Za-z0-9])|([A-Za-z])+$ 这样的正则表达式错误的,主要值用来判断用户名是英文的字符串,或者说是英

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