function(str) {
str = dr.ConvertToString(str);
while (/&/.test(str)) {
str = str.replace(/&/, "&");
}
while (/'/.test(str)) {
str = str.replace(/'/, "'");
}
while (/"/.test(str)) {
str = str.replace(/"/, """);
}
while (/</.test(str)) {
str = str.replace(/</, "<");
}
while (/>/.test(str)) {
str = str.replace(/>/, ">");
}
return str;
}
怎么改比较好?这样写会让人觉得正则基础太差.
while (/&/.test(str)) {
str = str.replace(/&/, "&");
}
//晕~不看不知道~发现一个bug啊~~汗
基础确实不好,不要用 while,也不要用 test,如下:
s = s.replace(/\"/g,""");
s = s.replace(/</g,"<");
s = s.replace(/>/g,">");
参考下:
http://www.strictly-software.com/htmlencode
http://www.strictly-software.com/scripts/downloads/encoder.js
看实际需求 普陀的替换字符 就这样用吧