如果你需要兼容某些老旧浏览器,那么就用 String.prototype.indexOf,然后判断它的返回值是不是 -1,-1 相当于 false,其它值相当于 true。
这个直接用javascript的正则表达式取就可以了。
下面是简单的代码实现,仅供参考:
var a = 'asdfwlf!@#@##$%$%^SFDGD^%^%&&$#'console.log(a.match(/[\~!@#$%^&*-_]/g))
//这个结果是:["!", "@", "#", "@", "#", "#", "$", "%", "$", "%", "^", "S", "F", "D", "G", "D", "^", "%", "^", "%", "&", "&", "$", "#"],出来的是一个数组。
可以通过join的方式编程一个字符串。
console.log(a.match(/[\~!@#$%^&*-_]/g).join())
//结果是:!,@,#,@,#,#,$,%,$,%,^,S,F,D,G,D,^,%,^,%,&,&,$,#
如果不想要',' ,还可以再把','去掉。
console.log(a.match(/[\~!@#$%^&*-_]/g).join(''))
//结果是:!@#@##$%$%^SFDGD^%^%&&$#
1、可以使用textarea进行显示;
2、首先进行html编码后再显示:
使用下面的函数html_encode对html字符串进行编码然后显示:
function html_encode(str){
var s = ""
if (str.length == 0) return ""
s = str.replace(/&/g, "&gt")
s = s.replace(/</g, "&lt")
s = s.replace(/>/g, "&gt")
s = s.replace(/ /g, "&nbsp")
s = s.replace(/\'/g, "&#39")
s = s.replace(/\"/g, "&quot")
s = s.replace(/\n/g, "<br>")
return s
}
function html_decode(str)
{
var s = ""
if (str.length == 0) return ""
s = str.replace(/&gt/g, "&")
s = s.replace(/&lt/g, "<")
s = s.replace(/&gt/g, ">")
s = s.replace(/&nbsp/g, " ")
s = s.replace(/&#39/g, "\'")
s = s.replace(/&quot/g, "\"")
s = s.replace(/<br>/g, "\n")
return s
}