Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.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,在textarea字段中,我只允许字母数字字符、((连字符)、/(正斜杠)、((点)和空格。 我也经历过类似的问题,但无论如何,我的确切要求似乎有所不同。下面是我在阅读了各位成员的答案后得出的正则表达式: /^[a-z0-9\-\/.]+$/i 我已经测试了正则表达式,到目前为止,它似乎工作,但我想再次检查。请验证上述正则表达式是否满足我的要求。您做得太多了 /^[a-z0-9/. -]+$/i 在字符类中,只有[、]、\、-和^具有特殊意义,^仅当它是第一个字符时,而-仅当它位于字符之间时

在textarea字段中,我只允许字母数字字符、((连字符)、/(正斜杠)、((点)和空格。 我也经历过类似的问题,但无论如何,我的确切要求似乎有所不同。下面是我在阅读了各位成员的答案后得出的正则表达式:

/^[a-z0-9\-\/.]+$/i


我已经测试了正则表达式,到目前为止,它似乎工作,但我想再次检查。请验证上述正则表达式是否满足我的要求。

您做得太多了

/^[a-z0-9/. -]+$/i
在字符类中,只有
[
]
\
-
^
具有特殊意义,
^
仅当它是第一个字符时,而
-
仅当它位于字符之间时

要匹配文字
^
,只需将其置于除第一个以外的任何位置。要按字面意思匹配
-
,请不要将其放在字符之间(即开头或结尾)


/
$
这样的转义是不必要的。

@Salman,谢谢你的保证。看起来很好(尽管你不需要转义一切)-就因为我有一点时间,我在regexpal.com上做了大量的测试数据供你查看:@jonathan:你错过了演示中的正斜杠
/
。-是的-我真傻。这里有一个更新:谢谢@Tomalak,我已经删除了不必要的越狱。