String Type UDF with Mask displays zeros when editing data

I'm trying to create a mask for a string UDF that displays <blanks> for missing characters.  If I use 000 000 000, the empty field displays the zero mask even when the field is empty.  This is confusing as there's no way to tell if the entry is truly 000 000 000 or if the field is empty.  A more critical situation occurs when the user has entered 123 456 789 and then wants to edit, say the last digit.  When placing the cursor at the end of the field and hitting backspace, the display changes to 123 456 780 and there's no way for the user to tell whether the field value is 12345678 or 123456780.  Therefore, I would like the mask characters to be blanks, not zeros.  Is there some way to achieve this or might someone have another idea?