我在javascript中得到了两个不同的字符串长度。一个来自输入字段,另一个来自直接 js 字符串值。例如,如果我将输入字段值设置为与 js 变量中的静态输入相同str2
即:u002Funitsu002F0004u002F62a345b3-ead7-4d06-a65b-243fc54780ec
.对于来自变量str
和str2
的相同输入,我在控制台中获得了不同的字符串长度(63 和 48(
var checklen = function() {
var str = document.getElementById("text").value;
str = str.trim();
console.log(str);
console.log(str.length);
var str2 = "u002Funitsu002F0004u002F62a345b3-ead7-4d06-a65b-243fc54780ec";
console.log(str2.length);
}
<div id='form'>
text <input type="text" name="text" id="text" />
<input type="button" onclick="checklen()" value="check">
</div>
因为当你像这样直接将字符串放入 JavaScript 中时
var str2 = "u002Funitsu002F0004u002F62a345b3-ead7-4d06-a65b-243fc54780ec";
JavaScript 会将解释为特殊字符转义,因此结果将如
colsole.log
所示 但是,如果您\
第一个放置两个,请取消第二个,字符串将按预期运行
var checklen = function() {
var str = document.getElementById("text").value;
str = str.trim();
console.log(str);
console.log(str.length);
var str2 = "u002Funitsu002F0004u002F62a345b3-ead7-4d06-a65b-243fc54780ec";
console.log(str2.length);
console.log(str);
console.log(str2);
var str3 = "\u002Funits\u002F0004\u002F62a345b3-ead7-4d06-a65b-243fc54780ec";
console.log("str len: ", str.length);
console.log("str2 len: ", str2.length);
console.log("str3 len: ", str3.length);
console.log("str: ", str);
console.log("str2: ", str2);
console.log("str3: ", str3);
}
<div id='form'>
text <input type="text" name="text" id="text" />
<input type="button" onclick="checklen()" value="check">
</div>