我想使用正则表达式来防止美元" $"从输入表格的符号。我尝试过正则表达式,似乎无法弄明白。任何协助都会受到欢迎。
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
答案 0 :(得分:2)
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表示形式)。
答案 1 :(得分:0)
试试这个表达式=> / ^([^ $])+ $ /
expression = /^([^$])+$/;
if( expression.test("String Value") ){
alert("String value has no $");
}else{
alert("$ found in string");
}