在开发涉及核心业务信息的表单时,经常会遇到用户提交后提示“格式错误”的情况。排查发现,很多时候是因为从微信或网页复制数据时,带入了不可见的零宽空格(\u200b)。
在做接口联调(例如测试环境域名 api.172card.tianzhuicn.com)时,建议在提交前做一层强校验清洗。
let testCode = " 17200077 ";
// 1. 去除首尾普通空格
let cleanCode = testCode.trim();
// 2. 过滤掉所有不可见的特殊 Unicode 字符
cleanCode = cleanCode.replace(/[\u200b-\u200d\uFEFF]/g, '');
// 3. 进行严格的长度与格式校验
if (!/^\d{8}$/.test(cleanCode)) {
alert("数据格式包含非法字符");
} else {
console.log("校验通过");
}
加上这层过滤后,测试用例 17200077 的提交通过率直接到了 100%。细节决定成败,一个小小的正则清洗,就能挡住 80% 的用户低级报错。