簡體   English   中英

如何為僅以字母開頭的用戶名制作正則表達式?

[英]How can I make regular expression for username that only starts with alphabet?

我正在嘗試創建一個只允許特定用戶名的正則表達式

  • 僅以字母開頭。
  • 僅以數字或字母結尾。
  • 僅允許 - 如果僅包含字母或僅包含一個帶字母的點,則僅包含一個帶字母的下划線。
  • 不能以點或下划線開頭
  • 用戶名的長度應該只有 4 到 10 個字符

這就是我正在做的 - ^(?=[a-zA-Z0-9._]{4,10}$)(?..*[_.]{2})[^_.].*[^_.]$

這應該適合你:

^(?=[a-zA-Z0-9._]{4,10})[a-zA-Z](?:[a-zA-Z]+_[a-zA-Z0-9]+|[a-zA-Z]+\.[a-zA-Z0-9]+|[a-zA-Z0-9]+)$

如果當前唯一的問題是它不應該以數字開頭,您可以使用以下模式之一,以 char [A-Za-z]開始匹配並以[a-zA-Z0-9]結束匹配

在中間只能出現 1 次. _

^(?=[a-zA-Z0-9._]{4,10}$)(?!.*[_.]{2})[A-Za-z]+(?:[_.][a-zA-Z0-9]+)?$

正則表達式演示

或另一種變體:

^[a-zA-Z](?=[a-zA-Z0-9._]{3,9}$)[a-zA-Z0-9]*(?:[._][a-zA-Z0-9]*)?[a-zA-Z0-9]$

正則表達式演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM