簡體   English   中英

正則表達式不會理解空格

[英]Regex wont understand white space

有代碼:

var regexp = new RegExp("[^a-zA-Z\-\s]", "g");
val = val.replace(regexp,'');

它也需要保留字母( a-zA-Z ),-( \\- )和空格( \\ s ),並刪除所有其他符號。

但是現在它也刪除了空格。

我究竟做錯了什么?

您需要將反斜杠加倍:

var regexp = new RegExp("[^a-zA-Z\\-\\s]", "g");

或者,最好使用正則表達式文字(並簡化它):

var regexp = /[^a-z\s-]/gi;

您的斜杠必須以字符串文字進行轉義。

一個簡單的解決方案是使用正則表達式文字

var regexp = /[^a-zA-Z\-\s]/g

如果有人感興趣,這是我遇到的JavaScript Regex Generator工具

對於像我這樣的正則表達式業余愛好者來說非常有用。

暫無
暫無

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

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