测试 测试

FreeTextBox 测试

由于是使用 <iframe>来作容器
所以,用户可以随便到任何地方去Ctrl + C ,Ctrl +V 东西过来
脚本可以在提交的时候进行屏蔽
图片就比较麻烦
特别是又要给用户提供所见即所得的图片插入 编辑
又要控制用户不能乱贴图
。。。

在 OnPaste 事件中进行处理?
不行又要走回UBB的老路了




-- Update --

用了折中的办法,用户上传图片后,在编辑器中显示一张默认的“未审核”的图片,拖拽都没有问题。
最终显示的时候,再根据图片是否被允许显示来替换编辑时插入的标记.

对于非本站图片,没在 OnPaste 事件里面处理,统一在最后提交的时候检查所有<img>对象的src是不是本站或相对路径,酱子就简单多了。

示例
http://dotnet.group.uland.com/bbs/newarticle.aspx

function Check()
    {
        
var content = document.getElementById('TextBox1').value;
        
var re_html = /(<script)|(<form)/gmi;
        
        
//script ,form
        if (re_html.test(content))
        {
            alert(
"请不要输入\<script\>或\<form\>标识");
            
return false;
        }

        
//event
        var re_event = /(<(\w+)(\s+)(.*)on(\w+)(\s*)=(\s*)(["']*))/gmi;
        if (re_event.test(content))
        {
            alert(
"请不要输入可执行脚本");
            return false;
        }
        
        //image ,.gif,.jpg,.png
        var pattern = 
"(http(s?):((\\/\\/)|(\\\\\\\\)))(?!((\\w+\\.*)+)\\.xxx\\.com)(.*)(\\w+)(\\.gif|\\.jpg|\\.png)";
        var re = new RegExp(pattern,
"igm");
        
        if (re.test(content))
        {
            alert(
"请不要引用非本站的图片");
            return false;
        }
                
        if (CalculateLen(content)>6000)
        {
            alert(
"字数不要超过3000汉字");
            return false;
        }
        
        return true;
    }


posted on 2004-07-17 15:41  guoadou  阅读(531)  评论(0编辑  收藏  举报