Can someone please tell me what I need to look for in the Language reference, regarding checking a TextField to see if it does NOT contain the numbers 1, 2,3,4,5,6,7,8 or 9
Basically I need to check a TextField, and if it DOES contain any of the numbers 1-9, then do nothing, otherwise, do something.
The Language reference is so large, and I don’t even know what to look for
You’d use a regular expression. The pattern is simply
[1-9] so a match would mean it does contain one of those numbers.
dim rx as new RegEx
rx.SearchPattern = "[1-9]"
dim match as RegExMatch = rx.Search( theTextField.Text )
if match is nil then // Doesn't have a number
else // Does have a number
Kem to the rescue once again !
I had no chance of stumbling across that solution
Put this in a Module and make set the functions scope to “global”:
Function ContainsDigits(Extends str As String) As Boolean
Dim mb As MemoryBlock = str
Dim ub As Integer = str.Len - 1
For i As Integer = 0 To ub
If mb.Byte(i) >= 48 And mb.Byte(i) <= 57 Then
Then use it like this:
If TextField1.Text.ContainsDigits Then
Thanks Eli - I will save that snippet for future reference!
Just FYI, Eli’s code will look for any digit, including “0”, and will probably be slower than the RegEx.
There is also a bug. It should use the MemoryBlock.Size instead of the str.Len. Otherwise a multibyte character would throw off the count.