How to force alpha or numeric inside text fields - LiveCycle Designer 9.0 | Community
Skip to main content
November 9, 2010
Solved

How to force alpha or numeric inside text fields - LiveCycle Designer 9.0

  • November 9, 2010
  • 16 replies
  • 21324 views

I am creating a form that requires City, State and Zip.  I need to make sure that users do not put City, State and Zip into the City field; which someone so nicely pointed out to me as a problem with the form.  Anyway, what I am looking for is a way to force the user to only be able to enter alpha characters into the City text field.  I had glanced at the "Validation Patterns" OOTB functionality but I could not find anything listed that would complete the requirement.


Thank you,

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by radzmar

You can use regular expressions in the change:event of the textfield to limit the characters that can be typed in.

Will allow only digits and the characters A-Z and a-z

if (xfa.event.newText.match(/[^A-Za-z0-9]/))      

{

xfa.event.change = "";

}

16 replies

radzmar
radzmarAccepted solution
Level 10
November 9, 2010

You can use regular expressions in the change:event of the textfield to limit the characters that can be typed in.

Will allow only digits and the characters A-Z and a-z

if (xfa.event.newText.match(/[^A-Za-z0-9]/))      

{

xfa.event.change = "";

}

November 9, 2010

Thank you very much for the quick response to this question.  I used your example and tweaked it just a little to make it allow only alpha characters and then to convert to upper case.  The result that worked was this.

if

(xfa.event.newText.match(/[^A-Za-z]/))

{

xfa.event.change

= "";

}

xfa.event.change

= xfa.event.change.toUpperCase();

Thank you again for your help.

November 9, 2010

I did run into one issue in the fact that I cannot add a space now to allow for City names that have more than one word.  What can I add to allow this space in the field?

Thank you,

radzmar
Level 10
November 10, 2010

Adding a space to the regualar expression will do the trick.

if (xfa.event.newText.match(/[^A-Za-z0-9 ]/))     

{

xfa.event.change = "";

}

Level 3
November 20, 2014

this code won't work with my dynamic xml form. Is there a different code to make this work for dynamic xml forms? This works only if my form is saved as a static pdf.

Level 2
May 5, 2015

Hey,

How do i avoid space as my first character? I'd want to restrict user from entering space as my first charcter in a text field.

Thanks,

Radhika

Level 2
May 5, 2015

Actually want to avoid special characters(including space) at my first character.

Any help will be much appreciated.

Thanks,

Radhika

Level 2
May 5, 2015

Hi,

I was able to achieve this with the below in my change event:

if(xfa.event.newText.charAt(0).match(/[ `~!@#$%^&*()-_={}|:;."<>,\\\[\]]/g))    

{

  xfa.event.change = "";

}

But the above restricts numeric also from entering at first position i am assuming this is happening cuz im using chartAt() which probably checks only for string.

I need the user to enter either alphabet or numeric at my first character.

Please Help.

radzmar
Level 10
May 5, 2015

this should do the trick.


if (!xfa.event.newText.charAt(0).match(/[a-zA-Z0-9]/g)) {


  xfa.event.change = "";


}


Level 2
May 6, 2015

I did try the code above few days back and it did not work

It did today!

I am writing the below in the exit event too, cuz the above code holds good only when the user is typing.

if (!xfa.this.rawValue.charAt(0).match(/[a-zA-Z0-9]/g)) { 

  this.rawValue = null;

  xfa.host.setFocus(this);

}

Thanks a lot radzmar!