Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.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 用于接受带有所有特殊字符的字母数字值的RegExp表达式_Javascript_Regex - Fatal编程技术网

Javascript 用于接受带有所有特殊字符的字母数字值的RegExp表达式

Javascript 用于接受带有所有特殊字符的字母数字值的RegExp表达式,javascript,regex,Javascript,Regex,我试图写一个Reg表达式来检查语言是英语还是阿拉伯语 我的测试字段用于捕获SMS消息。消息可以在 English with numbers & special characters OR Arabic with English numbers/Arabic numbers & special characters 搜索应在多行上接受空格并输入。 检查是分配每种语言允许的字符数。英语允许160人;而阿拉伯语只允许70条短信 我假设Exp应该只检查单词(决定语言的前几个单词)

我试图写一个Reg表达式来检查语言是英语还是阿拉伯语

我的测试字段用于捕获SMS消息。消息可以在

English with numbers & special characters

OR

Arabic with English numbers/Arabic numbers & special characters
搜索应在多行上接受空格并输入。 检查是分配每种语言允许的字符数。英语允许160人;而阿拉伯语只允许70条短信

我假设Exp应该只检查单词(决定语言的前几个单词)

下面是我用JavaScript编写的示例;正则表达式不起作用,只有正则表达式:

var pat = new RegExp("^[A-Za-z0-9\s!@#$%^&*()_+=-`~\\\]\[{}|';:/.,?><]*$");

有什么建议吗?

因为您是从字符串创建正则表达式,所以需要转义
\
字符才能使用
\s
。此外,如果不使用它定义字符范围,则应将其转义为
-
,或将其放在关闭
]
之前

var re=new RegExp(“^[A-Za-z0-9\\s!@$%^&*()”\+=\-`~\\\]\[{}}\\\\\';:/,?>
var regex=/^[-~]+$/;
var str='Hello&Hi';

控制台信息(正则表达式测试(str))当使用构造函数时,双转义反斜杠。
\s
==>
\\s
。在字符类中,
-
有特殊的含义。要按字面意思匹配
-
,您需要转义它。检查并。此外,将
-
放在字符类的开始/结束处,或者按照Tushar的建议转义。或者更好的是,不要这样做使用
new RegExp
当您可以使用文本形式时,
/regexhere/
。感谢Tushar的更正,Crowder&Wiktor的建议。因此,您只需要匹配由可打印ASCII字符组成的字符串。谢谢,工作非常好!!;只是我在最后添加了连字符。更好!!感谢answe和answe答案是正确的
"Hello & Hi"