Javascript 阻止用户输入美元符号($)

Javascript 阻止用户输入美元符号($),javascript,asp.net,regex,vb.net,Javascript,Asp.net,Regex,Vb.net,我想使用正则表达式来防止在表单中输入美元“$”符号。我尝试过正则表达式,但似乎无法理解。欢迎提供任何援助 Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged StripNonAlphabetCharacters(TextBox1) End Sub Public Sub StripN

我想使用正则表达式来防止在表单中输入美元“$”符号。我尝试过正则表达式,但似乎无法理解。欢迎提供任何援助

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
    StripNonAlphabetCharacters(TextBox1)
End Sub

        Public Sub StripNonAlphabetCharacters(ByVal input As TextBox)
        ' pattern matches any character that is NOT A-Z (allows upper and lower case alphabets)
    Dim rx As New Regex("[^a-zA-Z]")
    If (rx.IsMatch(input.Text)) Then
        Dim startPosition As Integer = input.SelectionStart - 1
        input.Text = rx.Replace(input.Text, "")
        input.SelectionStart = startPosition
    End If
End Sub
您不需要使用正则表达式来解决此问题。我觉得使用输入字段的
onkeypress
事件处理程序是一个更好的解决方案

var field = document.getElementsByTagName('input')[0];
field.onkeypress = function(e) {
    //check if the charCode of the symbol inputed is 36 (the character code of $)
    if (e.charCode === 36) {
        return false; //prevent it from being inputted into the field
    }  
};
事件处理程序被传递一个事件对象,该对象提供有关触发事件的操作的描述。
onkeypress
事件的一个有用属性是
charCode
属性,它显示按键的字符代码(我相信这些数字是字符的ASCII表示)。

试试这个表达式=>/^([^$])+$/


请分享一些代码。我想使用正则表达式来防止在表单中输入美元“$”符号。我尝试过正则表达式,但似乎无法理解。欢迎任何帮助。像这样尝试
Regex(“[^$]”)
你的正则表达式应该可以工作,你是否尝试过单步执行代码?这是一个ASP应用程序?这应该在客户端代码中完成。即使在服务器上设置了回发来调用它,速度也会非常慢。
    expression = /^([^$])+$/;

    if( expression.test("String Value") ){
       alert("String value has no $");
    }else{
       alert("$ found in string");
    }