Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript:如何将正则表达式更改为accept(),-。;[]_Javascript_Typescript - Fatal编程技术网

JavaScript:如何将正则表达式更改为accept(),-。;[]

JavaScript:如何将正则表达式更改为accept(),-。;[],javascript,typescript,Javascript,Typescript,我有一个接受简体中文字符的现有正则表达式 public-chinaValidator:any='^[\u4E00-\u9FCC]+$; 但我想修改它以接受下面的内容 (    Left parenthesis    U+0028 )    Right parenthesis    U+0029 ,    Comma    U+002C -    Minus    U+002D .    Full stop    U+002E ;    Semicolon    U+003B [    Left

我有一个接受简体中文字符的现有正则表达式

public-chinaValidator:any='^[\u4E00-\u9FCC]+$;
但我想修改它以接受下面的内容

(    Left parenthesis    U+0028
)    Right parenthesis    U+0029
,    Comma    U+002C
-    Minus    U+002D
.    Full stop    U+002E
;    Semicolon    U+003B
[    Left bracket    U+005B
]    Right bracket    U+005D
有人能帮我建立这个正则表达式吗?
注意,它可以接受“^[\u4E00-\u9FCC]+$”;或者使用这些字符

您可以只向子集添加几个字符

完整的正则表达式是:

^[\u4E00-\u9FCC\(\),\-\;\[\]]+$
解释

^匹配字符串的开头
[是角色类的开始
\u4E00-\u9FCC匹配中文字符
\(匹配左括号。)
\)匹配右括号
,匹配一个逗号
\-匹配连字符
\.匹配一个点
;匹配分号
\[匹配左方括号
\]匹配右方括号
(空白)匹配空格
]是字符类的结尾
+匹配字符类一次或多次
$匹配字符串的结尾

只需将这些字符添加到您的子集:
“^[\u4E00-\u9FCC\(\),\-\;\[]+$”
记住要用前面的反斜杠转义保留字符。需要]右括号U+005D,然后只需将
\]
添加到您的字符子集。^[\u4E00-\u9FCC(),\-;[]+$”这是否正确,因为您没有转义
[]
字符。使用以下命令:
“^[\u4E00-\u9FCC\(\),\-\;\[\]]+$'
这是否也允许空间。我想允许space@nickolas我对答案进行了编辑,将其包括在内。您可以单击答案旁边的灰色复选标记接受它吗?它可能会帮助未来的用户,并给您带来声誉。确实,我正在使用您提供的表达式测试我的代码。我希望我的正则表达式接受他的“^[\u4E00-\u9FCC]+$”或我提到的字符组合。您编写的一个不接受没有符号的纯字符。正则表达式应该接受这个“^[\u4E00-\u9FCC(),\-\;[+$”或那个“^[\u4E00-\u9FCC]+$”;但它不接受没有这些字符的纯字符