5 回答

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超4個(gè)贊
解決方案 1:
let username = "JackOfAllTrades";
let userCheck = /^[a-z]([0-9][0-9]+|[a-z]+\d*)$/i;
let result = userCheck.test(username);
代碼說(shuō)明
^ - 輸入的開(kāi)始
[a-z] - 第一個(gè)字符是一個(gè)字母
[0-9][0-9]+ - 以兩個(gè)或多個(gè)數(shù)字結(jié)尾
|- 或
[a-z]+ - 下一個(gè)包含一個(gè)或多個(gè)字母
\d* - 并以零個(gè)或多個(gè)數(shù)字結(jié)尾
$ - 輸入結(jié)束
i - 忽略輸入的情況
解決方案 2:
let username = "JackOfAllTrades";
const userCheck = /^[a-z]([0-9]{2,}|[a-z]+\d*)$/i;
let result = userCheck.test(username);
代碼說(shuō)明
^ - 輸入的開(kāi)始
[a-z] - 第一個(gè)字符是一個(gè)字母
[0-9]{2,0} - 以兩個(gè)或多個(gè)數(shù)字結(jié)尾
|- 或
[a-z]+ - 下一個(gè)包含一個(gè)或多個(gè)字母
\d* - 并以零個(gè)或多個(gè)數(shù)字結(jié)尾
$ - 輸入結(jié)束
i - 忽略輸入的情況

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊
這是我的解決方案:
/^[a-z][a-z]+$|^[a-z]+\w\d+$/i
/^ - 在字符串的開(kāi)頭,找到
[a-z][a-z]+$ - 至少2個(gè)字母,可以更多,直到最后(這意味著像test12這樣的字符串不會(huì)在這個(gè)字母中通過(guò))
|- OR(對(duì)于它有更多的數(shù)字和超過(guò)2個(gè)字符的情況^[a-z]+ - 以任何字母開(kāi)頭,可以更多
\w - 任何字符,可以是 a-z 和 0-9,它以這種方式用于強(qiáng)制字符串至少包含 3 個(gè)字符
\d+$ - 以至少具有一個(gè)數(shù)字的鏈結(jié)尾(如果它的末尾沒(méi)有至少一個(gè)數(shù)字,它將在條件的第一個(gè)中匹配)
/i - 考慮大寫(xiě)字符

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超10個(gè)贊
我錯(cuò)過(guò)了OP要求中的一些東西:如果用戶名長(zhǎng)度超過(guò)2個(gè)字符,則只能有一個(gè)前導(dǎo)字母。因此,我相應(yīng)地更正了這個(gè)答案,我們從根本上得到了與Venkatesh的解決方案2相同的正則表達(dá)式。
我以為你只希望沒(méi)有重音字符。
使用正則表達(dá)式(在此處測(cè)試),您將獲得以下匹配/失敗(逐個(gè)測(cè)試時(shí)):/^[a-z]([a-z]+\d*|\d{2,})$/i
? Paul46: matches
? 4frank: fails
? mike: matches
? jus6tin: fails
? p87: matches
? k9: fails
? AL10: matches

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超8個(gè)贊
下面的解決方案可以很好地找到符合以下條件的用戶名 用戶名只能使用字母數(shù)字字符。
用戶名中唯一的數(shù)字必須位于末尾??梢杂辛銈€(gè)或 2 個(gè)。最后還有更多。用戶名不能以數(shù)字開(kāi)頭。
用戶名字母可以是小寫(xiě)和大寫(xiě)。
用戶名的長(zhǎng)度必須至少為兩個(gè)字符。雙字符用戶名只能使用字母作為字符。
let username = "JackOfAllTrades";
let userCheck = /^[a-z]+(\d\d+$|[a-z]+\d*$)/i; // Change this line
let result = userCheck.test(username);
console.log(result)
描述:
^[a-z]+
- 匹配 .(+)
alphabet([a-z])
beginning(^)
\d\d+$
- 如果開(kāi)頭只有一個(gè)字母,則匹配結(jié)尾 2 或更多(\d 表示一個(gè),\d+ 表示一個(gè)或多個(gè))數(shù)字。[a-z]+\d*$
- 匹配一個(gè)或多個(gè)字母表以及末尾的0個(gè)或多個(gè)數(shù)字。i
- 忽略字母大小寫(xiě)的標(biāo)志|
- 符號(hào)選擇匹配兩個(gè)正則表達(dá)式
添加回答
舉報(bào)