I think you plan to have three digits, not one between the parentheses, so for a standard phone number your Literal mask
should probably be:
(***) ___-____ Not: (*) ___-____
*
is not special, i.e. does not represent a wild card, or optional input, or anything like that.
However to begin entering a phone number with that mask, you must first move the cursor to the first editable character, i.e. not an L
in the Edit mask.
Instead I think you might want to use this Literal mask which avoids that issue:
___-___-____
Or better yet, simply:
- - (that's 3 spaces, dash, 3 spaces, another dash, & don't need 4 trailing spaces.)
Gotchas to watch out for:
-
A Pattern Field Control located directly within a form edits quite differently than a Pattern Field Control found within a Table Control. At this time (v5.4) I suggest using Pattern Fields only in a Table Control. Play with them yourself to see why.
-
If you have existing data in a field, without the dashes in it, and you change from Text field to Pattern field, and then edit a field in a record, the data is magically upgraded to have dashes in it. This might make your data inconsistant.
-
There is a known bug in the Table Control where you can not change a Text field into a Pattern field. The workaround for now is to right click to the right of other fields and select Insert Column, Pattern Field. Then hook up this new table field to your data. (BTW, you can have more than one table control field attached to the data at the same time, i.e. one Text box, and one Pattern field, so you can see what is going on.)
Tips:
A good Pattern Field Tutorial is here: https://www.youtube.com/watch?v=xysSjJQjcZE
By writing your masks in a fixed width font you can more clearly see how these two operate together:
LNNNLLNNNLNNNN <-- An Edit mask (specs. allowable input for each char. pos.).
(***) ___-____ <-- A associated Literal mask
(123) 456-7890 <-- An example phone number entry
(123) 456-7890 <-- Actual data stored in field
It’s easier to input your Literal mask first, then your Edit mask 2nd. (Hopefully these two can be reversed to make things more orderly.)
Edit Mask Key:
L - Literal : Use "Literal mask"'s character value for this character position,
i.e. this position can not be edited.
a - Alpha : Input a-z & A-Z | Output a-z & A-Z
A - Alpha upper : Input a-z & A-Z | Output A-Z
c - Alpha-numeric : Input a-z, A-Z, & 0-9 | Output a-z, A-Z, & 0-9
C - Alpha-numeric upper : Input a-z, A-Z, & 0-9 | Output A-Z, & 0-9
N - Numeric : Input 0-9 | Output 0-9
x - Any : Input * | Output * (All characters accepted)
X - Any upper : Input * | Output uppercase *
With the “upper” flavors a-z
will be automatically converted to A-Z
.