簡體   English   中英

驗證字符串的正則表達式以字符開頭並包含允許的字符

[英]Regular expression to validate a string starts with a char and contains allowed chars

我需要關於用 javascript 編寫的正則表達式的幫助。 我試過在線使用正則表達式生成器,我能想到的最好的就是這個:

^[a-z.-]{0,50}$

表達式必須驗證以下內容

  • 字符串第一個字符必須以 az 開頭(無 alpha)
  • 字符串可以包含 az(無 alpha)、0-9 范圍內的任何字符以及字符破折號“-”和點“.”。
  • 字符串的最大長度為 50 個字符

成功字符串示例

  • 用戶名1
  • 用戶名.姓氏
  • 用戶名-另一個字符串1
  • 這也好

沒有好的琴弦

  • 1壞用戶名
  • .verbad
  • -壞的
  • 也很糟糕有空格

// 謝謝

幾乎(假設“沒有字母”意味着沒有大寫字母)

https://regex101.com/r/O9hvLP/3

^[a-z]{1}[a-z0-9\.-]{0,49}$

{1} 是可選的,出於描述性原因,我將其放在那里

我認為這應該涵蓋你想要的

^[a-z][a-z0-9.-]{0,49}$

那是從az開始,然后有 0-49 的az0-9.-

現場示例: https://regexr.com/5k8eu

編輯:不確定您是否打算允許大寫和小寫,但如果您這樣做了兩個字符類也可以添加AZ

如果. -不能在最后,也不能有連續的,另一種選擇可能是:

^[a-z](?=[a-z0-9.-]{0,49}$)[a-z0-9]*(?:[.-][a-z0-9]+)*$

解釋

  • ^字符串開頭
  • [az]匹配單個字符 az
  • (?=[a-z0-9.-]{0,49}$)將 0-49 個字符斷言到字符串的末尾
  • [a-z0-9]*匹配可選字符 a-z0-9
  • (?:[.-][a-z0-9]+)*可選匹配. -和 1+ 次 char a-z0-9
  • $字符串結尾

正則表達式演示

暫無
暫無

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

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