我正在用 Javascript 構建一個 ID,它不允許特殊字符和大寫字母。我們可以/ _ -在 ID 中有,但它不應該以這些開頭。
- 你好正確
- helloWorld不正確
- 123你好正確
- 你好/世界正確
- -你好不正確
- _你好不正確
- $hello不正確
- /你好不正確
- 你好$不正確
- hello_world正確
- 你好世界正確
- 你好世界/蘋果正確
- hello_world/apple正確
- hello_world/apple123正確
我有以下幾乎可以處理所有情況的正則運算式,但是在一種情況下,如果存在斜杠(/),則不應后跟連字符(-)或下劃線(_),這是我無法解決的
^(?=.{1,50}$)(([a-z0-9]) ([-_/a-z0-9])*)$
- hello_world/-apple不正確
- hello_world/_apple不正確
- hello_world//蘋果不正確
對此的任何幫助將不勝感激。
uj5u.com熱心網友回復:
您可以使用
^(?=.{1,50}$)[a-z0-9] (?:[-_\/][a-z0-9] )*[-_\/]?$
請參閱正則運算式演示。
詳情:
^- 字串開始(?=.{1,50}$)- 字串中只能有 1 到 50 個字符[a-z0-9]- 一個或多個小寫 ASCII 字母或數字(?:[-_\/][a-z0-9] )*- 零個或多個序列[-_\/]- a-或char_/[a-z0-9]- 一個或多個小寫 ASCII 字母或數字
[-_\/]?- 一個可選的-,_或/字符$- 字串結束。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/476797.html
標籤:正则表达式
上一篇:如果excape字符位于引數值的末尾,則創建正則運算式的問題
下一篇:帶有AND操作的多行Grep模式
