[英]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.