Mask JavaScript API (v0.4b)

This is the test script for the Mask JSAPI library. Please use this page to test different mask formatting commands and please report any errors to dswitzer@pengoworks.com.

The dynamic masking will not work in NS4 at the moment, as I haven't gotten that far, but I believe it should work in most DHTML compatible browsers. If you find any problems or make changes, please let me know.

Download

UPDATE - Dec 5, 2007: While I had no plans to update this library, I did change the offset used to guess the correct century when a 2-digit year is supplied. It used to use an offset of +20 years, it now uses an offset of +5 years. Essentially this means if the 2-digit year is greater than 5 years in the future, it'll assume the date is in the previous century.

Masking Report

On the great suggestion by Cameron Childress, I've set up this small form to allow you to report your results to me. Don't feel required to supply your name or email, I'm only asking in order to contact you back about the results. I'm not mining this e-mail address or anything else--it's completely confidential.

To report the results of this test back to me, just click the "Report Results" button and let your browser do the rest of the work. :)

Name:
E-mail:


Dynamic Field Masking

US Phone Number:

Generic: (###) ###-####

US Dollar:

Number: $#,###.00

US Date:

Date: mm/dd/yyyy


Generic Mask
mask: ****'*-***
string: namesdan
result: name's-dan
expected: name's-dan
error: n/a

mask: (###) ###-####
string: 614-777-6094
result: (614) 777-6094
expected: (614) 777-6094
error: n/a

mask: (###) ###-####
string: 6147776094
result: (614) 777-6094
expected: (614) 777-6094
error: n/a

mask: (###) ###-####
string: 614.777.6094
result: (614) 777-6094
expected: (614) 777-6094
error: n/a

mask: (###) ###-####
string: 6147a76094
result: 6147a76094
expected: 6147a76094
error: The value "6147a76094" must be in the format (###) ###-####.

mask: (###) #x*-####
string: 6147a76094
result: (614) 7a7-6094
expected: (614) 7a7-6094
error: n/a

mask: ###.###.####
string: 614-777-6094
result: 614.777.6094
expected: 614.777.6094
error: n/a

mask: ###/###.####
string: 614-777-6094
result: 614/777.6094
expected: 614/777.6094
error: n/a

mask: phone !#: ###/###.####
string: 614-777-6094
result: phone !: 614/777.6094
expected: phone !: 614/777.6094
error: n/a


Date Mask
mask: m@/dd@/yyyy
string: 2/28/00
result: 2@/28@/2000
expected: 2@/28@/2000
error: n/a

mask: m/dd/yyyy
string: 2/28/00
result: 2/28/2000
expected: 2/28/2000
error: n/a

mask: m/dd/yyyy
string: 2/28/03
result: 2/28/2003
expected: 2/28/2003
error: n/a

mask: m/dd/yyyy
string: 2/28/09
result: 2/28/2009
expected: 2/28/2009
error: n/a

mask: m/dd/yyyy
string: 2/28/20
result: 2/28/2020
expected: 2/28/1920
error: n/a

mask: m/dd/yyyy
string: 2/28/25
result: 2/28/2025
expected: 2/28/1925
error: n/a

mask: m/dd/yyyy
string: 2/28/59
result: 2/28/1959
expected: 2/28/1959
error: n/a

mask: m/dd/yyyy
string: 2/28/99
result: 2/28/1999
expected: 2/28/1999
error: n/a

mask: m/d/yy
string: 13/31/72
result: 13/31/72
expected: 13/31/72
error: An invalid month was entered.

mask: d./m/..yy
string: 28/2/72
result: 28./2/..72
expected: 28./2/..72
error: n/a

mask: d/m/yy
string: 28.2.72
result: 28/2/72
expected: 28/2/72
error: n/a

mask: m/d/yy
string: 2/31/72
result: 2/31/72
expected: 2/31/72
error: An invalid day was entered.

mask: m/d/yy
string: 2/28/72
result: 2/28/72
expected: 2/28/72
error: n/a

mask: mm/dd/yy
string: 2/28/72
result: 02/28/72
expected: 02/28/72
error: n/a

mask: m/dd/yyyy
string: 2/28/72
result: 2/28/1972
expected: 2/28/1972
error: n/a

mask: mm/dd/yyyy
string: 2/28/72
result: 02/28/1972
expected: 02/28/1972
error: n/a

mask: yyyy.mm.dd
string: 72/2/28
result: 1972.02.28
expected: 1972.02.28
error: n/a

mask: yyyy.mm.dd
string: 2/28/72
result: 2/28/72
expected: 2/28/72
error: An invalid day was entered.

mask: mmmm dd,yyyy
string: 2/28/72
result: 2 28,1972
expected: 2 28,1972
error: n/a


Numeric Mask
mask: 0#####.##
string: 534
result: 000534
expected: 000534
error: n/a

mask: 0#####.00
string: 534
result: 000534.00
expected: 000534.00
error: n/a

mask: 0#####.##
string: 534.23
result: 000534.23
expected: 000534.23
error: n/a

mask: 000000.##
string: 534.23
result: 000534.23
expected: 000534.23
error: n/a

mask: +##,###.##
string: 534.23
result: +534.23
expected: +534.23
error: n/a

mask: #,###.##
string: 999,034,256.5252
result: 999,034,256.53
expected: 999,034,256.53
error: n/a

mask: #,###.##
string: 1,999,034,256.5252
result: 1,999,034,256.53
expected: 1,999,034,256.53
error: n/a

mask: #,###.##
string: 1,034,256.5252
result: 1,034,256.53
expected: 1,034,256.53
error: n/a

mask: #,###
string: 1,034,256.5242
result: 1,034,256
expected: 1,034,256
error: n/a

mask: -(#,###.##)
string: -534.23
result: (-534.23)
expected: (-534.23)
error: n/a

mask: (-#,###.##)
string: -534.23
result: (-534.23)
expected: (-534.23)
error: n/a

mask: (#,###.##)
string: -534.23
result: (534.23)
expected: (534.23)
error: n/a

mask: (#,###.##)
string: 534.23
result: 534.23
expected: 534.23
error: n/a

mask: +#,###.##
string: 534.23
result: +534.23
expected: +534.23
error: n/a

mask: +#,###.##
string: -534.23
result: -534.23
expected: -534.23
error: n/a

mask: $#,###.##
string: -534.23
result: -$534.23
expected: -$534.23
error: n/a

mask: $#,###.##
string: 53-4.23
result: 53-4.23
expected: 53-4.23
error: The value entered was not a number.

mask: $#,###.##
string: --534.23
result: --534.23
expected: --534.23
error: The value entered was not a number.

mask:
string: dan
result: dan
expected: dan
error: The value entered was not a number.

mask:
string: 6147776094
result: 6147776094
expected: 6147776094
error: n/a

mask: #,###.#0
string: 1,034,256.5242
result: 1,034,256.52
expected: 1,034,256.52
error: n/a

mask: #,###.##
string: 4,256.529
result: 4,256.53
expected: 4,256.53
error: n/a

mask: #,###.000000
string: 4,256.529
result: 4,256.529000
expected: 4,256.529000
error: n/a

mask: #,###.0
string: 4,256.589
result: 4,256.6
expected: 4,256.6
error: n/a

mask: #,###.00
string: 4,256.5
result: 4,256.50
expected: 4,256.50
error: n/a

mask: #,###.#0
string: 4,256.5
result: 4,256.50
expected: 4,256.50
error: n/a

mask: $#,###.##
string: 4,256.5
result: $4,256.5
expected: $4,256.5
error: n/a

mask: #,###.##
string: 4,256.5
result: 4,256.5
expected: 4,256.5
error: n/a