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
  • 21347 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

Geckoz100
Level 5
December 28, 2015

Hi all,

I'm using the script below to force numbers only for a phone number field, but it allows the user to press the parentheses and dash characters into the field, perhaps related to auto-fill on the field.  Is there any way of preventing this?


if (xfa.event.newText.match(/[^0-9]/)) {


  xfa.event.change = "";


}



Geckoz100
Level 5
June 14, 2016

Hi all,

In addition to my question above, I have another:  I have an e-mail field where all users will be entering the same domain after the "@".  Is there a way to automatically replace the "@" with "@domain.com"?  I have used the code below (and other variations of it, using quotation marks, etc.) and haven't been able to make it work:

if (xfa.event.newText.match(/[@]/))  {

  xfa.event.change = "@domain.com";

}

Great appreciate any help!

radzmar
Level 10
June 15, 2016

You can use something like:

if (xfa.event.newText.match(/[\ba-zA-Z0-9._-]+@{1}/g))  {

  xfa.event.change = "@domain.com";

}

Geckoz100
Level 5
June 16, 2016

Thanks, Radzmar, it works!  But there's one little issue -- if I press the Backspace key to make a correction, or even type in any other letters, it adds another "@domain.com" with every keystroke.  The only way I have found to get around it is to manually select the entire portion containing all the ampersands and then press Delete.  Any way to solve that?

Geckoz100
Level 5
June 16, 2016

I figured it out!  It just needs to be like this:

//replace @ with "@domain.com"

if (xfa.event.change == "@") {

  xfa.event.change = "@domain.com";

}

So it will generate the suffix string only when you press "@", and it allows corrections without duplication, etc.

Karwan_Mawlood
Level 3
June 19, 2016

it works fine for dynamic forms