js替换双引号

JavaScript023

js替换双引号,第1张

工作中经常遇到字符串中含有"",由于js动态创建div元素,如果title中含有"",就会出现莫名的错误,由此记录下此bug。 var question =  是否经常感到"压力"或其他。 var newQuestion = question.replace(/\"/g, "-")   //把 双引号用-代替  ,当然也可以""代替,表示去除。//检测某字符串中是否包含特殊字符 function special( str ){ var special = RegExp(/[(\ )(\~)(\!)(\@)(\#) (\$)(\%)(\^)(\&)(\*)(\()(\))(\-)(\_)(\+)(\=) (\[)(\])(\{)(\})(\|)(\\)(\)(\:)(\')(\")(\,)(\.)(\/) (\<)(\>)(\?)(\)]+/) return ( special.test(str) ) } 返回true说明有特殊符号。

把alert去掉不就行了吗?

function checkChar(){

var inputobj=document.getElementById("uname1")//得到文本框对象

inputobj.value=inputobj.value.TextFilter()//用TextFilter()过滤文本框的值

}

//TextFilter()函数直接把限定字符替换为空了,如果替换为空格的话修改该函数即可,

//在for循环中把 rs+=this.substr(i,1).replace(pattern,'')

//改成 rs+=this.substr(i,1).replace(pattern,' ')

ps:这种简单的过滤用正则了还要用for循环,实在不欣赏这样的写法

一个函数就搞定了,扩展String对象实在没必要:

function checkChar(){

var inputobj=document.getElementById("uname1")//得到文本框对象

inputobj.value=inputobj.value.replace(/[<>]/g," ")//直接正则替换就OK了

}