簡體   English   中英

驗證一個或多個不以特殊字符開頭和結尾的字符字符串

[英]Validating a one or more char string not starting and ending with special characters

我有

/^[a-zA-Z][a-zA-Z '-]*[a-zA-Z]$/g

此正則表達式不允許字符串以'-字符結尾或開頭。

然而,如果我通過一個字符串像a它也將被檢測為無效。

請提出如何傳遞一個字符串而不傳遞空格, '-

非常感謝

a -正確
a -不正確
'a a-不正確

您的正則表達式需要以字母開頭的輸入,然后包含0+個字符,例如字母,空格,單引號和連字符,然后是強制性字母。 用可選的非捕獲組將模式的最后2個部分包裝起來:

/^[a-z](?:[a-z '-]*[a-z])?$/i
       ^^^^^^^^^^^^^^^^^^^

i不區分大小寫的修飾符會使模式變短。

細節

  • ^ -字符串開頭
  • [az] -ASCII字母
  • (?:[az '-]*[az])? -1次或0次出現:
    • [az '-]* -0+ ASCII字母,空格, '-
    • [az] -ASCII字母
  • $ -字符串結尾。

暫無
暫無

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

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