[英]Validating userName using Regex
用戶名中唯一的數字必須在末尾。 最后可以有零個或多個。
用戶名字母可以是小寫和大寫。
用戶名必須至少有兩個字符長。 兩個字母的用戶名只能使用字母字符。
我正在嘗試這個,但我停滯不前。 /\\d+$\\w+/gi
/^[az]{2,}\\d*$/i
是:
^ : the begining
[a-z] : a character (a to z), you can add as many allowed characters as you want
{2,} : at least 2 of them
\d* : 0 or more digits
$ : the end
i : ignore case sensetivity (both lowercases and uppercases are allowed)
用戶名包含字符和數字,最少 2 個字符長
/^[a-zA-Z]{2,}\d*$/i
測試結果 :
UserNam9 = pass
9username = fail
Userna99 = pass
usernameeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee = pass
Us = pass
U = fail
/^[A-z]{2,}[A-z0-9]{0,}$/
/^ // start of line
[A-z]{2,} //alphabet characters 2 or more
[A-z0-9]{0,} //numbers and alphabet
$/ // end of line
如果開頭有一個字母,后面跟有 2 個或更多數字,您就會漏掉這種情況。
U99 = fail
d345 = fail
我的解決方案也通過了這些測試:
/^[a-z]{2,}\d*$|(?=\w{3,})^[a-z]{1,}\d+$/i
使用正向前瞻,我確保在第二種情況下至少有 3 個字母數字字符。
/^[az]{2,}\\d*$|(?=\\w{3,})^[az]{1,}\\d+$/i
簡化版本:
/^\D(\d{2,}|\D+)\d*$/i
代碼說明:
^
- 輸入開始\\D
- 第一個字符是一個字母\\d{2,}
- 以兩個或多個數字結尾|
- 或者\\D+
- 接下來有一個或多個字母\\d*
- 並以零個或多個數字結尾$
- 輸入結束i
- 忽略輸入的大小寫這是我的答案,它通過了所有測試:
/^[a-z][a-z]+\d*$|^[a-z]\d{2,}$/i
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.