簡體   English   中英

正則表達式允許使用字母數字,空格,一些特殊字符

[英]Regex to allow alphanumeric, spaces, some special characters

我有這個^[a-zA-Z0-9 @&$]*$ ,但在少數情況下不適合我。

如果有人打字

  • 僅由數字組成的字符串(例如1234567
  • 以特殊字符開頭的字符串(例如&123abc

需要被拒絕。 請注意,特殊字符可以位於中間和末尾。

您似乎需要避免匹配僅由數字組成的字符串,並確保字符串以字母數字開頭。 我假設你還需要能夠匹配空字符串(原始正則表達式匹配空字符串)。

這就是我建議的原因

^(?!\d+$)(?:[a-zA-Z0-9][a-zA-Z0-9 @&$]*)?$

請參閱正則表達式演示

細節

  • ^ - 字符串的開頭
  • (?!\\d+$) - 如果字符串僅為數字,則表示匹配失敗的否定前瞻
  • (?:[a-zA-Z0-9][a-zA-Z0-9 @&$]*)? - 可選序列:
    • [a-zA-Z0-9] - 數字或字母
    • [a-zA-Z0-9 @&$]* - 0+數字,字母,空格, @&$字符
  • $ - 結束字符串。

你可以使用以下正則表達式來完成它

^(?!\d+$)\w+\S+

這里查看演示

暫無
暫無

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

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