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

2014-03-22 7

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文章

JavaScript.The.Good.Parts阅读笔记(一)假值与===运算符
Nov 16 5
利用Angular.js限制textarea输入的字数
Oct 20 41
Bootstrap面板学习使用
Feb 09 7
Javascript 实现匿名递归的实例代码
May 25 5
Node.js学习之查询字符串解析querystring详解
Sep 28 11
深入浅析Vue中的slots/scoped slots
Apr 03 5
vue-router 2.0 跳转之router.push()用法说明
Aug 12 7
手机访问当前页面