如何在asp.net文本框中限制特殊字符的组合?

时间:2015-01-01 06:36:32

标签: asp.net regex

这是我的asp:textbox -

的代码
<asp:TextBox ID="txtName" runat="server" MaxLength="90" 
     CausesValidation="true" SkinID="Skn_inputValue"></asp:TextBox>

我可以编写正则表达式或javascript代码来限制特殊字符的组合,即。当我输入<,/=时,它应该输入正确的输入,但是当我输入它们的任意组合时,它应该重新开始并发出信息。我该怎么做?

2 个答案:

答案 0 :(得分:0)

我不太了解Regex,但如果你想避免使用特殊字符而只需要数字和字母,你可以使用如下的javascript函数。以下功能不会抛出错误信息,但也不允许输入任何特殊字符,只包括字母和数字。

    function isSpecialKey(evt)
     {
        var charCode = (evt.which) ? evt.which : event.keyCode
        if ((charCode>=65 && charCode <=91) || (charCode>=97 && charCode <=123) || (charCode >= 48 || charCode <= 57))
              return true;

        return false;
     }

并在您的asp textboxt代码中,在onkeypress上调用此函数,就像这样

<asp:TextBox ID="txtName" runat="server" MaxLength="90" CausesValidation="true" SkinID="Skn_inputValue" onkeypress="return isSpecialKey(event)"></asp:TextBox> 

如果你想允许任何其他特殊字符如空格,只需在函数中添加条件,并使用ascii代码

答案 1 :(得分:0)

可能有帮助:

var specials=/[*|\":<>[\]{}`\\()';@&$]/;

var input=document.getElementById('input_id').value

if (specials.test(input)) { 
  alert("Error");
}

请参阅此fiddle