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;
}
}
}
<asp:TextBox ID="txtFolderNameChi" CssClass="frmTxt" runat="server" MaxLength="200" onkeypress="TextValidate('input')" onpaste="TextValidate('paste')" ondrop="TextValidate('drop')"></asp:TextBox>
在textbox的onkeypress,onpaste,ondrop事件中使用上面的方法即可,需要给方法传递一个参数,告诉方法现在执行的是什么动行。
可限制输入*,&,\,/,?,|,<,>,如需要限制更多的特殊符号,只需要在var txt =new RegExp("[\\*,\\&,\\\\,\\/,\\?,\\|,\\:,\\<,\\>,\"]");
中添加即可。