需求
页面输入含有特殊字符的内容保存后,再去查可能存在查询不到的情况。所以需提前在前端做输入的校验,网上有较多在后端处理的,此处省略。
(实心圆 /u0007)
思路
就是把 输入的字符串,拆成一个一个的字符(此处试了几个方法,对前端方法不熟,大佬轻喷),遍历去比对。
代码
// 调用方法
if(isXMLChar($("#name"))){
console.log("含有!!");
//自己业务的处理
} else {
console.log("不含");
...
}
//校验是否含有xml特殊字符(true:含有)
function isXMLChar(text){
if(text){
for(var i=0; i<text.length; i++){
var c = text.charCodeAt(i);
if(c >= 0x00 && c <= 0x08){
return true;
}
if(c >= 0x0b && c <= 0x0c){
return true;
}
if(c >= 0x0e && c <= 0x1f){
return true;
}
}
}
return false;
}
笔记
代码重点 charCodeAt(index) 方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数。
方法 charCodeAt() 与 charAt() 方法执行的操作相似,只不过前者返回的是位于指定位置的字符的编码,而后者返回的是字符子串。