为什么输入字段中同一字符串的字符串长度与 JS 中变量字符串的静态值不同

  • 本文关键字:字符串 JS 变量 静态 字段 javascript
  • 更新时间 :
  • 英文 :


我在javascript中得到了两个不同的字符串长度。一个来自输入字段,另一个来自直接 js 字符串值。例如,如果我将输入字段值设置为与 js 变量中的静态输入相同str2即:u002Funitsu002F0004u002F62a345b3-ead7-4d06-a65b-243fc54780ec.对于来自变量strstr2的相同输入,我在控制台中获得了不同的字符串长度(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>

最新更新