簡體   English   中英

正則表達式以限制字符

[英]Regular expression to limit character

我需要使用正則表達式來限制代碼中的字符串。 以下是該字符串的條件。

  1. 僅字母數字字符和。 允許使用(點)和-(連字符)。
  2. 不應以開頭。 或-應該以數字或字母開頭。
  3. 整個字符串中只能使用一個連字符。
  4. 允許使用多個點。 但不應允許連續的點。 (例如:允許ddd 。但是不允許d..。
  5. 連續-和。 也不允許。 (例如:不允許d-。

     /^([a-zA-Z\\d]+[\\.]?[a-zA-Z\\d]{0,1})[\\-]?([a-zA-Z\\d]+[\\.][a-zA-Z\\d]{0,1})+$/ 

我已經寫了上面的表達。 但這違反了第五點。 它允許-點后。

2. ^[a-zA-Z\\d] (允許的第一個字符)
1. ... [-.a-zA-Z\\d]*$ (允許使用其他字符)
3. (?!.*-.*-) ...(不允許使用兩個連字符)
4. (?!.*\\.\\.) ...(不允許..
5. (?!.*-\\.|\\.-) ...(不允許使用.--.

現在一起(與否定的前瞻一起重構):

^(?!.*(?:-(?:.*-|\.)|\.[.-]))[a-zA-Z\d][-.a-zA-Z\d]*$

暫無
暫無

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

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