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");
}