在文本框中禁止输入特殊字符,怎么实现???

时间:2022-12-19 17:04:29
我想在文本框中,不可以输入如下字符 : '"!@#$%^&*~',."
请问下实现代码?

22 个解决方案

#1


if (textbox1.Text.Contains("@"))
{
    return;
}

#2


正则

#3



IllegalString = "\`~!#$%^&*()+{}|\\:\"<>?-=/,\'";
function checkIllegalChar(strTemp)
{
    for (var j=0;j<strTemp.length;j++)
    {
   if (IllegalString.indexOf(strTemp.charAt(j))>=0)
   {
     return false;
     }
     }
return true;
}

#4


怎样用?

#5


if(checkIllegalChar(window.document.form1.TextBox1.value))
{

}
else
{

}

#6


正则表达式

#7


对,正则

#8


谁不知正则!~~不知怎样实现

#9


正则表达式
[^!@#$%^&*]
这样就OK!~!~

#10


[^AAAAAAAA]
A表示不可输入的字符!~!

#11


<asp:RegularExpressionValidator ID="RegularExpressionValidator3" runat="server" ControlToValidate="TextBox1" ErrorMessage="**" ValidationExpression="[^!@#$%^&*]"></asp:RegularExpressionValidator>

[^!@#$%^&*]这样做得出只能输入

#12


触发onkeypress="checkIllegalChar(strTemp);";

#13


try..........

^(?!.*?[\'\"\!@\#\$%\^&\*\~,\.]).*$

#14


把你不要求出现的都放在这个里面

"[^"!@#$%^&*~',.]"
但要注意,如果不要求出现'/','"'.......这些东西,放进去的时候要转义下。
比如
不要求出现'\',正则就的这样"[^\\]".其他类推

#15


lijunming008(雾里头)
正解

#16


<asp:RegularExpressionValidator ID="RegularExpressionValidator3" runat="server" ControlToValidate="TextBox1" ErrorMessage="**" ValidationExpression="[^!@#$%^&*]"></asp:RegularExpressionValidator>

[^!@#$%^&*]这样做得出只能输入

为什么不说正解??不行啊

#17


为什么还说正解??不行啊

#18


要看你想要的效果是什么?

1.当是非法字符时,禁止输入   用onkeydown
2.只在提交时验证是否存在非法字符          方法很多

#19


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
</head>
    <script language ="javascript">
        function ValidateValue(textbox)
        {
             var IllegalString = "\`~!#$%^&*()+{}|\\:\"<>?-=/,\'";
             var textboxvalue = textbox.value;

             var index = textboxvalue.length - 1;
             
             var s = textbox.value.charAt(index);
             
             if(IllegalString.indexOf(s)>=0)
             {
                s = textboxvalue.substring(0,index);
                textbox.value = s;
             }
        }
    </script>
<body>
    <form id="form1" runat="server">
    <div>
        <input id="Text1" runat="server" type="text" onkeyup = "ValidateValue(this)"/></div>
    </form>
</body>
</html>

//这个可以实现输入一个不符合的字符,不符合的字符就会不被输入

#20


ajax.net 1.0

#21


<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="TextBox1"
            Display="Dynamic" ErrorMessage="不应该包含:!@#$%^&*这些字符串" ValidationExpression="[^\!@#$%^&*]"></asp:RegularExpressionValidator><br />
        <asp:Button ID="Button1" runat="server" Text="Button" /></div>
    </form>
</body>
</html>

//这个是在提交表单的时候统一进行验证的方式.

#22


有没有使用后台代码实现的

#1


if (textbox1.Text.Contains("@"))
{
    return;
}

#2


正则

#3



IllegalString = "\`~!#$%^&*()+{}|\\:\"<>?-=/,\'";
function checkIllegalChar(strTemp)
{
    for (var j=0;j<strTemp.length;j++)
    {
   if (IllegalString.indexOf(strTemp.charAt(j))>=0)
   {
     return false;
     }
     }
return true;
}

#4


怎样用?

#5


if(checkIllegalChar(window.document.form1.TextBox1.value))
{

}
else
{

}

#6


正则表达式

#7


对,正则

#8


谁不知正则!~~不知怎样实现

#9


正则表达式
[^!@#$%^&*]
这样就OK!~!~

#10


[^AAAAAAAA]
A表示不可输入的字符!~!

#11


<asp:RegularExpressionValidator ID="RegularExpressionValidator3" runat="server" ControlToValidate="TextBox1" ErrorMessage="**" ValidationExpression="[^!@#$%^&*]"></asp:RegularExpressionValidator>

[^!@#$%^&*]这样做得出只能输入

#12


触发onkeypress="checkIllegalChar(strTemp);";

#13


try..........

^(?!.*?[\'\"\!@\#\$%\^&\*\~,\.]).*$

#14


把你不要求出现的都放在这个里面

"[^"!@#$%^&*~',.]"
但要注意,如果不要求出现'/','"'.......这些东西,放进去的时候要转义下。
比如
不要求出现'\',正则就的这样"[^\\]".其他类推

#15


lijunming008(雾里头)
正解

#16


<asp:RegularExpressionValidator ID="RegularExpressionValidator3" runat="server" ControlToValidate="TextBox1" ErrorMessage="**" ValidationExpression="[^!@#$%^&*]"></asp:RegularExpressionValidator>

[^!@#$%^&*]这样做得出只能输入

为什么不说正解??不行啊

#17


为什么还说正解??不行啊

#18


要看你想要的效果是什么?

1.当是非法字符时,禁止输入   用onkeydown
2.只在提交时验证是否存在非法字符          方法很多

#19


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
</head>
    <script language ="javascript">
        function ValidateValue(textbox)
        {
             var IllegalString = "\`~!#$%^&*()+{}|\\:\"<>?-=/,\'";
             var textboxvalue = textbox.value;

             var index = textboxvalue.length - 1;
             
             var s = textbox.value.charAt(index);
             
             if(IllegalString.indexOf(s)>=0)
             {
                s = textboxvalue.substring(0,index);
                textbox.value = s;
             }
        }
    </script>
<body>
    <form id="form1" runat="server">
    <div>
        <input id="Text1" runat="server" type="text" onkeyup = "ValidateValue(this)"/></div>
    </form>
</body>
</html>

//这个可以实现输入一个不符合的字符,不符合的字符就会不被输入

#20


ajax.net 1.0

#21


<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="TextBox1"
            Display="Dynamic" ErrorMessage="不应该包含:!@#$%^&*这些字符串" ValidationExpression="[^\!@#$%^&*]"></asp:RegularExpressionValidator><br />
        <asp:Button ID="Button1" runat="server" Text="Button" /></div>
    </form>
</body>
</html>

//这个是在提交表单的时候统一进行验证的方式.

#22


有没有使用后台代码实现的