簡體   English   中英

JavaScript正則表達式否定完全字符串匹配

[英]JavaScript regular expression to negate an exact string match

HTML(JavaScript)中是否有一種方法可以編寫正則表達式來否定精確的字符串匹配?

我想確保輸入不等於“ foo ”。 只有“ foo ”必須通過驗證,但必須允許“ fooo ”。

換句話說,我正在尋找對這個正則表達式的否定:

<input pattern="^foo$" ...>

一種可能的方法是將字符串錨點( ^ )的開頭與包含目標字符串和字符串錨點結尾( $ )的負前瞻相結合:

/^(?!foo$)/

演示

但是pattern模式在該帳戶中很有趣 - 它必須匹配字符串中的某些內容,這就是原始方法不起作用的原因。 但這確實有效:

<input pattern="(?!foo$).*">

你可以使用這個正則表達式:

\bfooo\b

如果允許Javascript,為什么不否定匹配的結果呢?

if (!yourString.match(/^foo$/)) {
    ...
}

暫無
暫無

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

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