簡體   English   中英

javascript-正則表達式字母數字和特殊字符

[英]javascript- regular expression alphanumeric and special characters

我正在嘗試允許字母數字和一些特殊字符

var regx = /^[A-Za-z0-9._-\] ]+$/;

我嘗試用正斜杠轉義]符號,但仍然無法正常工作。 我在想什么

您還需要轉義-字符:

/^[A-Za-z0-9._\-\] ]+$/
//------------^

轉義-並非總是必要的。 但是,這里在方括號內使用它,這使JavaScript引擎假定您正在嘗試指定_-]的范圍,這會導致“字符類的范圍亂序”錯誤。

注意/[_-a]/是有效的正則表達式,並且匹配字符_`a (ASCII碼95 ... 97); 這可能不是理想的結果。

如果您在像regex101這樣的在線正則表達式測試儀上嘗試正則表達式,則會收到錯誤消息:

正則表達式鏈接

在此處輸入圖片說明

您必須逃脫-使用\\-

^[A-Za-z0-9._\-\] ]+$

順便說一句,您可以將正則表達式縮短為:

^[\w.\-% ]+$

編輯:為您的評論添加了正則表達式:

^[\w.-\]\[ #$>()@{}'"]+$

工作演示

暫無
暫無

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

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