Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.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 用于检查内容类型application/json等的正则表达式_Javascript_Regex - Fatal编程技术网

Javascript 用于检查内容类型application/json等的正则表达式

Javascript 用于检查内容类型application/json等的正则表达式,javascript,regex,Javascript,Regex,此特定应用程序以application/json格式返回content-type标题;字符集=UTF-8 我不确定这是否会改变,是否会被简化为“application/json”,或者如果我在其他地方重用这段代码,是否会 我的代码是 response.headers['Content-Type'].match(/text\/application//json/i) 如何最好地检查内容类型application/json???您可以使用RegExp/application\/json/ var-

此特定应用程序以
application/json格式返回
content-type
标题;字符集=UTF-8

我不确定这是否会改变,是否会被简化为“application/json”,或者如果我在其他地方重用这段代码,是否会

我的代码是

response.headers['Content-Type'].match(/text\/application//json/i)


如何最好地检查内容类型application/json???

您可以使用
RegExp
/application\/json/

var-response={“Content-Type”:“application/json;charset=UTF-8”};

log(响应[“内容类型”].match(/application\/json/)[0])我认为您做得对,您可以使用正则表达式检查这一点。如果它返回null,则表示它不是json

if (response.headers['Content-Type'].match(/application\/json/i)){

   // do your stuff here
}
另一种方法是在头字符串中查找
application/json
字符串

if (response.headers['Content-Type'].contains('application/json')){

   // do your stuff here
}
并不是所有这些都是“官方的”,但如果您试图匹配所有这些,请尝试:


您可以从正则表达式中添加/删除内容类型,只需记住在它们周围加上适当的括号。

更好的重构方法是
^(application\/(json | x-javascript)| text\/(x-)?javascript | x-json)(;*)$
。为了使正则表达式正确,不需要转义斜杠,但是如果您的语言使用斜杠作为正则表达式分隔符,那么您确实需要反斜杠。
^((application\/json)|(application\/x-javascript)|(text\/javascript)|(text\/x-javascript)|(text\/x-json))(;+.*)*$