Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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 如何编写正则表达式来匹配既不是字母也不是数字的东西?_Javascript_Regex - Fatal编程技术网

Javascript 如何编写正则表达式来匹配既不是字母也不是数字的东西?

Javascript 如何编写正则表达式来匹配既不是字母也不是数字的东西?,javascript,regex,Javascript,Regex,我在试这个 str = "bla"; /([^A-z]|[^0-9])/.test(str.charAt(0)); 但不管我在字符串中输入什么,它都是真的,因为你的正则表达式表示任何不是字母或数字的东西。所有字符至少满足其中一个条件。我想你真正想要的是: /[^A-Za-z0-9]/ 这意味着任何既不是字母也不是数字的东西。看到区别了吗 作为旁注,[a-z]是不正确的。[A-Z]和[A-Z]是两个不同的字符集,从技术上讲,它们之间没有定义的延续。有些正则表达式引擎会让你逃脱惩罚,但有些会抛出

我在试这个

str = "bla";
/([^A-z]|[^0-9])/.test(str.charAt(0));

但不管我在字符串中输入什么,它都是真的,因为你的正则表达式表示任何不是字母或数字的东西。所有字符至少满足其中一个条件。我想你真正想要的是:

/[^A-Za-z0-9]/
这意味着任何既不是字母也不是数字的东西。看到区别了吗

作为旁注,[a-z]是不正确的。[A-Z]和[A-Z]是两个不同的字符集,从技术上讲,它们之间没有定义的延续。有些正则表达式引擎会让你逃脱惩罚,但有些会抛出错误或做一些你不想做的事情

无论大小写,从A到Z写任何字母的正确方法是[A-Za-Z]。或者,您可以使用i标志使您的正则表达式不区分大小写,在您的情况下:

/[a-z0-9]/i

当然,因为每个字符不是字母就是数字。试试看!哦,A-z不是你想的那样