Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

SOLVED

Javascript for 5 or 9 zip code?

hy9fesh
Level 2
Level 2

I have a form where I want to do a five to nine zip code; if the user inputs anything else, it is will be deemed invalid and the field will be empty when the user presses "enter."

So far, in the change event, I have the following script that only allows 9 digits, meaning the user cannot input more than 9 digits:

     var maxLength = 9;

     if(xfa.event.newText.length >maxLength)xfa.event.change = "";

Then in the exit event, I have the following script that only allows numerical digits:

if(this.rawValue==null){this.execValidate();}

if (!/^[0-9]{5,9}$/i.exec(this.rawValue)) {

  this.rawValue= null;

}

The problem is that it's still allowing entries like "123456" or "1234567" or "12345678." I only want users to be able to enter a 5-digit or 9-digit zip code.

Please let me know if there is anything I can do to resolve this issue.

1 Accepted Solution
hy9fesh
Correct answer by
Level 2
Level 2

I have the nine-digit pattern set up in LiveCycle (e.g.,12345-1234), so I revised the code a bit and it shows up: if(!/^\d{5}(\d{4})?$/.test(this.rawValue))

Thanks!

View solution in original post

3 Replies
mouslander
Level 7
Level 7

You can use a string length and compare the input.

var str = field1.rawValue

var n = str.length

if(n != 5 || n != 9){

message...

field2.rawValue = ""

}

mouslander
Level 7
Level 7

this actually works I used it on Validate

if(!/^\d{5}(-\d{4})?$/.test(this.rawValue))

hy9fesh
Correct answer by
Level 2
Level 2

I have the nine-digit pattern set up in LiveCycle (e.g.,12345-1234), so I revised the code a bit and it shows up: if(!/^\d{5}(\d{4})?$/.test(this.rawValue))

Thanks!

View solution in original post