亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

這個正則表達式是什么意思?^(?=[1-9])(?=.[A-Z]).{10,12}$?

這個正則表達式是什么意思?^(?=[1-9])(?=.[A-Z]).{10,12}$?

鴻蒙傳說 2018-08-18 13:10:29
這個正則表達式是什么意思?^(?=[1-9])(?=.[A-Z]).{10,12}$
查看完整描述

1 回答

?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

/^[-.-_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}$/這個代碼也能用,也就是說從我那里的第三個橫線開始加多少個都可以。
[email protected]這個字符串可以在你的表達式里通過,這個違背了,我之前的意思:及最后一個單詞后面只能是兩個或三個字母。
a:倆個短橫線保留一個就可以了,不能去掉第一個的原因是第二個短橫線-應該被當成連接符了,就想A-Z這樣的中間的鏈接符,你去掉第一個的話,在第二個短橫線那里加個反斜杠\就好了
你提出的錯誤確實是存在,應該是[\w.]+這里出問題了,這[]里面的是可選的,而不是必須的,所以在匹配bbbbbbbbb的時候在[\w.]+這里成功,最后的[\w]{2,3}沒起到作用,造成了這個錯誤,我改了一下,這樣在沒有到字串末尾時連接點.就成為必須字符
/^[^\_][\w\-\.]+@([\w]+\.)+[\w]{2,3}[^\_]$/

查看完整回答
反對 回復 2018-08-20
  • 1 回答
  • 0 關注
  • 693 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號