I have viewed many methods for checking a string for specific characters on the Internets. While there are number of methods contained within .NET, none worked 100%. Regex wasn’t good enough for me, nor was GetInvalidFileNameChar() as each would miss some invalid characters. I needed a sure, quick easy way to check if a string entered into a Textbox was valid for a file name. Finally I had to devise a simple method that I could easily control. For those needing ideas, here is my code.
Public Function invalidChar(ByVal test As String) As Boolean invalidChar = False For Each c As Char In test Select Case c Case "~", "`", "!", "@", "#", "$", "%", "^", "&", "*", "(", ")", "+", "=", "{", "}", _ "[", "]", ";", "/", "\", "|", ":", ";", "'", "<", ">", ",", ".", "?", Chr(34) ' Char(34) = " invalidChar = True End Select Next End Function
This can be associated with a Button Click Event or within the TextChanged Event code of your Textbox.
Private Sub txbFileName_TextChanged(sender As Object, e As EventArgs) Handles txbFileName.TextChanged If invalidChar(txbFileName.Text) Then txbFileName.Text = txbFileName.Text.Remove(txbFileName.TextLength - 1, 1) ' Deletes the invalid char txbFileName.Select(txbFileName.Text.Length, 0) ' Returns the cursor back to the end of the string in the Textbox End Sub