服务器端也要验证过。。客户端的js验证是可以绕过的。。正则判断下内容
<script type="text/javascript">
    function checkData() {
        var t = document.getElementById('name');
        if (/['")-><&\\\/\.]/.test(t.value)) {
            alert('包含特殊字符,不允许提交!');
        }
    }
</script>
<div>
    <textarea  id="name"></textarea>
    <input type="button" value="提交" id="commit" onclick="checkData()" >
</div>不过提交这种字符串无所谓吧。。

解决方案 »

  1.   

    你好 您回答的 很好  不过  这边的要求是 比如:textarta里面 是从其他处赋值过来的一段 字符串  :     这是一本非常好的书 <javascript高级篇>,\n
      

  2.   

    你好 您回答的 很好  不过  这边的要求是 比如:textarta里面 是从其他处赋值过来的一段 字符串  :     这是一本非常好的书 <javascript高级篇>,\n刚没写完 就提交了  补写:
     提交的时候 是需要把  <>这些符号带上的  比如一本书的名字  必须得用到那些字符  可是 到了  安全同事那块 就会有拦截·····
      

  3.   

    你总要提交吧。。提交的时候提示就行了。。
    或者给textarea增加onblur事件执行checkData事件也行
      

  4.   

    那事你同事的事了,不允许提交这些字符,你又需要提交这些字符不是矛盾了将<>替换为对应的实体字符&lt;和&gt;后在提交
      

  5.   

    对 我当时想的就是 将那些特殊字符 怎么才能用一个方法替换成对应的 比如:<> &lt;和&gt;
      

  6.   

    嗯  提示是为了让他们更改掉对吧 , 可是提交的这个内容所包含的特殊字体是需要提交上去的  怎么进行转义一下    才能让 安全的同事那块  通过···· 不提示拦截··
    替换为实体也不行。。&就直接干掉多有实体内容了。。至少要放过&这个字符,然后替换为实体 
    &apos;  '
    &quot;   "
    &lt;         <
    &gt;        >其他的实体不常用,不知道什么。。
      

  7.   

    嗯  提示是为了让他们更改掉对吧 , 可是提交的这个内容所包含的特殊字体是需要提交上去的  怎么进行转义一下    才能让 安全的同事那块  通过···· 不提示拦截··
    替换为实体也不行。。&就直接干掉多有实体内容了。。至少要放过&这个字符,然后替换为实体 
    &apos;  '
    &quot;   "
    &lt;         <
    &gt;        >其他的实体不常用,不知道什么。。en 有些事不怎么常用 到时也会用到  &这个基本上没怎么用到过  可以考虑其他方法 单独搞一下    能否把常用的这些 写个公用的方法 把内容当参数  
      

  8.   

        function checkData(v) {
            var  entry = { "'": "&apos;", '"': '&quot;', '<': '&lt;', '>': '&gt;' };
            v = v.replace(/(['")-><&\\\/\.])/g, function ($0) { return entry[$0] || $0; });
            return v;
        }    var v = checkData('<书名啊>\'"');
       document.write(v)