簡體   English   中英

使用javascript新的regexp對象獲取包含匹配字符集的方括號

[英]using javascript new regexp object for brackets containing set of matching characters

看來我遇到了一個奇怪的問題,想知道是否有人對此有解決方案,還是我在javascript中濫用了RegExp對象。 我寫下了一個正則表達式,它檢查特定值是否為字母數字。 功能和一些示例測試用例如下

var re = new RegExp("^[a-zA-z\\d]+$");

document.writeln(re.test("a")); 
document.writeln(re.test("a1234")); 
document.writeln(re.test("12345a"));
document.writeln(re.test("12345"));
document.writeln(re.test("a["));
document.writeln(re.test("[]"));
document.writeln(re.test("]"));

在所有情況下,它都返回true。 我試圖轉義常規exp中的括號,即var re = new RegExp("^\\\\[a-zA-z\\\\d\\\\]+$"); 但是每個測試用例都返回false。

我通過使用正則表達式文字代替var re = /^[a-zA-Z\\d]+$/;來解決此問題var re = /^[a-zA-Z\\d]+$/; 我想我可以使用\\w但該字段不應包含_字符。

是否有人知道如何解決該問題,或者RegExp對象與一組匹配字符不兼容?

提前致謝!

第二個“ z”應為“ Z”。 Z(0x5a)和a(0x61)之間的升序范圍包括方括號,脫字號,反引號和下划線。

暫無
暫無

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

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