js过滤特殊字符输入适合输入、粘贴、拖拽多种情况

2014-03-22 38

function TextValidate(type) { 
var code; 
var character; 
var Lang = document.getElementById('Lang').value; 
var err_msg = ""; 
if (Lang != "Eng") { 
err_msg = "文件夹名?不能包含下列字符之一:\n \\ / : * ? \" < > | & , "; 
} 
else { 
err_msg = "A Folder Name cannot contain any of the following characters:\n \\ / : * ? \" < > | & ,"; 
} if (type == "input") { 
code = window.event.keyCode; 
} 
else if (type == "paste") { 
code = window.clipboardData.getData('Text'); 
} 
else if (type == "Drop") { 
code = window.event.dataTransfer.getData('Text'); 
} 
else { 
code = arguments.callee.caller.arguments[0].which; 
} 
var character = String.fromCharCode(code); 
var txt = new RegExp("[\\*,\\&,\\\\,\\/,\\?,\\|,\\:,\\<,\\>,\"]"); 
if (type == "input") { 
if (txt.test(character)) { 
alert(err_msg); 
if (document.all) { 
window.event.returnValue = false; 
} 
else { 
arguments.callee.caller.arguments[0].preventDefault(); 
} 
} 
} 
if (type == "paste" || type == "Drop") { 
if (txt.test(code)) { 
alert(err_msg); 
window.event.returnValue = false; 
} 
} 
}
展开阅读全文

更多Javascript文章

js删除所有的cookie的代码
Nov 25 37
Prototype源码浅析 String部分(一)之有关indexOf优化
Jan 15 54
一样的table?不一样的table(可编辑状态table)
Sep 19 47
javascript框架设计读书笔记之数组的扩展与修复
Dec 02 41
JS中innerHTML和pasteHTML的区别实例分析
Jun 22 45
Bootstrap栅格系统的使用和理解2
Dec 14 41
Bootstrap CSS布局之代码
Dec 17 34
手机访问当前页面