解决 JS 正则转成字符串后出现乱码?-灵析社区

爱打瞌睡的三角龙

![image.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241129/7c52659e58011f1f0235a8e473529381.png) 在应用中,我需要将该正则放到键值对并进行 `JSON.stringify`,但这一做法会导致正则中的 `\u4e00-\u9fa5` 发生乱码,尝试了多种方法,但当赋值时就已经发生变化,有没有大佬知道要怎么解决? // 当 presetRegs 作为下拉选项时,value 就已经乱码了 const presetRegs = [{ label: "文字限制(中文)", value: "/^(?:[\u4e00-\u9fa5·]{2,16})$/" }]; // 最终表单中的 expression 字段拿到的也是乱码值 const form = reactive({ ..., options: { rules: [ { expression: "/^(?:[一-龥·]{2,16})$/", errorMsg: "写个中文吧" } ] } }); form.options = JSON.stringify(form.options); // post form

阅读量:23

点赞量:0

问AI
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241129/3bd8909f207ad71183d2a64a34459eb9.png) "\u4e00"是汉字'一'的unicode编码,"\u9fa5"是汉字'龥'的unicode编码,并没有出现乱码 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241129/8f0acbcdf7fb2b19187afcbbbaa894db.png) 正则表达式也能正常运行 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241129/82a46973c53b70f551964bdaf0917293.png) ".codePointAt().toString(16)"方法可以返回字符的unicode编码 "String.prototype.codePointAt() - JavaScript | MDN" (https://link.segmentfault.com/?enc=%2FdsmM2eD35b8Yk26POjgOA%3D%3D.azL9eTmpUKLEP2cWkK12kZxUQRN0N%2BnwhOeFC1x1XsyVCZv4g5MFDrAa4n3tpBfE5HQiKJAIhwDXtLcZMvW6uxDB1dxqvC6wryNk0UbaS5p17UY9KFNAuy5mWqZg5lUenhywgHpG%2FkRJMlN7bTfYhg%3D%3D)