[英]Remove non-digit characters from random string except first occurrence of #
[英]Select all non-digit characters except single dot and single dash
我正在尋找JavaScript中的正則表達式,它將選擇除單個點和單個破折號之外的所有非數字字符。 我嘗試了[^0-9\\.\\-]+
但沒有選擇多個點或破折號。 所以它應該選擇..
但不要.
我的用例是數字輸入驗證。 用戶可以鍵入任何數字或單點或單破折號。 我將用一個空字符串替換無效的輸入。
您應該可以使用以下內容:
(?:[^0-9\.\-]|\.{2,}|-{2,})+
它匹配不是數字也不是的字符.
或-
或兩個或多個的序列.
或-
。
將該替換置於(?:non-capturing group)
中,以便用量詞+
重復該操作,而不會創建無用的捕獲組。
請注意,您不必逃避.
在字符類也不是-
在字符類的第一或最后一個位置: (?:[^0-9.-]|\\.{2,}|-{2,})+
應該工作一樣好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.