Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.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/4/json/13.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/vim/5.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 如何在Node.js中正确检测JSON对象中的转义字符?_Javascript_Json_Node.js_Regex - Fatal编程技术网

Javascript 如何在Node.js中正确检测JSON对象中的转义字符?

Javascript 如何在Node.js中正确检测JSON对象中的转义字符?,javascript,json,node.js,regex,Javascript,Json,Node.js,Regex,我需要在API调用中检测转义字符。 我在下面编写了一个函数,它接受一个特定的值,并使用正则表达式验证它是否包含转义字符 功能: var checkEscapeChars = function (value){ var containsEscapeChars = /\\[ubfnrtv0'"\\]/g.test(value); return containsEscapeChars; // returns true when contains escape chars }; 我的理解是,如果值是'

我需要在API调用中检测转义字符。
我在下面编写了一个函数,它接受一个特定的值,并使用正则表达式验证它是否包含转义字符

功能:

var checkEscapeChars = function (value){
var containsEscapeChars = /\\[ubfnrtv0'"\\]/g.test(value);
return containsEscapeChars; // returns true when contains escape chars
};
我的理解是,如果值是'\f'(换行符),那么函数应该返回true-但它不返回false。我相信这是因为正则表达式测试程序对待“\f”和解释“\f”的方式不同

如何检测转义字符?(我正在节点4.4.7中运行(无法更新))

谢谢

编辑: 我已经构建了一个API,无法接受转义字符,因为它们无法写入我的数据库。我无法对系统进行任何其他更改,必须正确评估字符串是否包含转义字符


我正在输入'\f',它转换成换行符转义字符。因此,函数应该返回:true(字符串包含转义字符),但它不返回。它返回false。

您必须以以下方式构建正则表达式:

/[\b\f\n\r\t\v\0]/

您的正则表达式匹配
\u
\b
\f
。。。但实际上

附加说明
\u不是转义字符。以下是一份清单:

\b:退格(U+0008退格)
\f:表格输入(U+000C表格输入)
\n:线路馈电(U+000A线路馈电)
\r:回车(U+000D回车)
\t:水平制表符(U+0009字符制表)
\v:垂直选项卡(U+000B行列表)
\0:空字符(U+0000空)


您必须以以下方式构建正则表达式:

/[\b\f\n\r\t\v\0]/

您的正则表达式匹配
\u
\b
\f
。。。但实际上

附加说明
\u不是转义字符。以下是一份清单:

\b:退格(U+0008退格)
\f:表格输入(U+000C表格输入)
\n:线路馈电(U+000A线路馈电)
\r:回车(U+000D回车)
\t:水平制表符(U+0009字符制表)
\v:垂直选项卡(U+000B行列表)
\0:空字符(U+0000空)


“我需要在API调用中检测转义字符。”-为什么?“我在下面编写了一个函数,它接受一个特定的值”-什么值?代码都很好,但如果没有相同的输入、实际输出和预期输出,就很难理解这个问题。“我需要在API调用中检测转义字符。”-为什么?“我在下面编写了一个函数,它接受一个特定的值”-什么值?代码都很好,但是如果没有相同的输入、实际输出和预期输出,就很难理解这个问题。非常感谢!非常感谢!