簡體   English   中英

僅匹配某些字符的正則表達式模式

[英]RegEx Pattern to Match Only Certain Characters

我是 RegEx 的新手,這個特殊問題讓我很困惑。 這是與 JavaScript 函數一起使用的。

我需要驗證輸入,使其僅符合以下條件:

  • 字母 AZ(大寫和小寫)
  • 數字 0-9
  • 以下附加字符:空格、句點 (.)、逗號 (,)、加號 (+) 和破折號 (-)

對於前兩個標准,我可以很容易地編寫一個模式,但第三個標准更難。 這是我管理的最后一個模式,但它似乎不適用於測試字符串Farh%%$$+++,

這是我正在嘗試的模式

[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\\+\\.\\,\\s]*$ 

它的失敗在於它在提交表單時允許文本字段中指定的字符以外的字符。

任何幫助將不勝感激。

我剛剛對此進行了測試,它似乎至少在我的第一輪測試中有效。

^[a-zA-Z 0-9\.\,\+\-]*$

破折號必須是第一個,以免被解釋為范圍分隔符。 另外,請確保在開頭和結尾分別使用 ^ 和 $ 錨定正則表達式,以便您的整個測試字符串被正則表達式吞沒。

/^[-+., A-Za-z0-9]+$/
/^[a-z0-9 .,+-]+$/i

僅將選擇器驗證為 ID(根據允許的字符https://www.w3.org/TR/html4/types.html#type-id ):

var isValidIdSelector = function (str) {
    var regex = new RegExp(/^[A-Za-z][A-Za-z0-9_\-\:\.]*$/gm);
    return regex.test(str);
};
ng-pattern="/^[a-zA-Z0-9/&quot&quot\\\]\[:;|=,+*?<>]+$/"

允許:字母數字 + " / \\ [ ] : ; | = , + * ? <>

暫無
暫無

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

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