gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 03:38:30 26 4
gpt4 key购买 nike

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

功能:

var checkEscapeChars = function (value){
var containsEscapeChars = /\\[ubfnrtv0'"\\]/g.test(value);
return containsEscapeChars; // returns true when contains escape chars
};

我的理解是,如果值为 '\f'(换行),那么该函数应该返回 true - 但它不会返回 false。我相信这是因为正则表达式测试器以不同的方式对待 '\f' 和解释 '\f'。

我如何检测转义字符? (我在 Node 4.4.7 中运行(并且无法更新))。

谢谢

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

我正在输入“\f”,它会转换为换行转义字符。因此,该函数应该返回:true(字符串包含转义字符),但事实并非如此。它返回 false。

最佳答案

您必须这样构建正则表达式:

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

Demo

你的正则表达式匹配\u\b\f,...但字面上

Demo

Additional note
\u is not an escape character. Here is a list :

\b: backspace (U+0008 BACKSPACE)
\f: form feed (U+000C FORM FEED)
\n: line feed (U+000A LINE FEED)
\r: carriage return (U+000D CARRIAGE RETURN)
\t: horizontal tab (U+0009 CHARACTER TABULATION)
\v: vertical tab (U+000B LINE TABULATION)
\0: null character (U+0000 NULL)

关于javascript - 如何正确检测 Node.js 中 JSON 对象中的转义字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44074665/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com