第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

編寫正則表達式以過濾輸入的用戶名

編寫正則表達式以過濾輸入的用戶名

慕碼人8056858 2021-04-07 17:18:41
我想編寫一個正則表達式,它將過濾任何用戶名,其中:以數(shù)字或字母開頭(不區(qū)分大小寫)可以包含-但不能連續(xù)包含多個例如 u-s-e-r? us-er? us--er?此外,用戶名不能以開頭-或結尾-例如 -user? user-?還需要至少1個字符(字母或數(shù)字),最大39個字符。我最接近結果的是這樣的:^[a-zA-Z\d](?:[a-zA-Z\d]|-(?=[a-zA-Z\d])){0,38}這完全匹配它應該匹配的內(nèi)容,但是它也匹配了一些不應該匹配的東西?;旧?,這些不應該是有效的:-username_username___us_ernameus_erusername-1user--name132uname--uname1234-username-user--nameav34axc-1234567890A1234567890B1234567890C1234567890D這些應該是有效的:Usernamea-aaBcBaC1-11-2-3-4q-1-2-3q-q-q-q-qusername123username123username31231234user-name13-13q1-q2-q3aA1234567890A1234567890B1234567890C1234561234567890A123456-7890B1234567890C12345
查看完整描述

2 回答

?
GCT1015

TA貢獻1827條經(jīng)驗 獲得超4個贊

您可以使用

^(?=.{1,39}$)[a-zA-Z\d]+(?:-[a-zA-Z\d]+)*$

參見regex演示和Regulex圖:

http://img1.sycdn.imooc.com//60812e05000185a608580218.jpg

細節(jié)

  • ^ -字符串開始

  • (?=.{1,39}$) -長度必須為1到39個字符

  • [a-zA-Z\d]+ -1個以上字母數(shù)字字符

  • (?:-[a-zA-Z\d]+)* -重復0次或以上

    • - -連字符

    • [a-zA-Z\d]+ -1個以上字母數(shù)字字符

  • $ -字符串結尾。


查看完整回答
反對 回復 2021-04-22
?
富國滬深

TA貢獻1790條經(jīng)驗 獲得超9個贊

您可以使用否定的前瞻性來實現(xiàn)連字符限制:

^(?!.*-(-|$)|-)[a-z\d-]{1,39}$


查看完整回答
反對 回復 2021-04-22
  • 2 回答
  • 0 關注
  • 343 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號