Skip to main content
deckarduk
Inspiring
March 19, 2019
Answered

RegEx test and change to uppercase

  • March 19, 2019
  • 10 replies
  • 2144 views

Hi there,

Please can some one help me.

I've been playing around with custom keystroke scripts and all has gone ok so far apart from this variation.

I have a text field that has a RegEx test to allow only character 0-9, a-z & A-Z.

Here's the code:

var r = new RegExp("^[0-9a-zA-Z]*$");

var result = r.test(event.change);

if (result == true) {console.println("Here - stage 1 true")} else {console.println("Here - stage 1 false")};

if ( result != true )

{

    event.change = "";

    console.println("Here - stage 2 false");

} else {

    event.change.toUpperCase();

    console.println("Here - stage 2 true");

}

What I'm trying to do with this one is allow the user to enter characters 0-9, a-z & A-Z.

However, if the user enters any lowercase letter I'm trying to change it toUpperCase().

So far I've not succeeded with this

This topic is closed to new replies. Start a new post to keep the conversation going.
Correct answer deckarduk

Thanks for the help.

After a little playing around I managed to condense everything to 2 lines.

var r = new RegExp("^[0-9a-zA-Z]*$");

if (r.test(event.change)) {event.change = event.change.toUpperCase()} else {event.rc = false};

This seems to do the trick.

10 replies

deckarduk
deckardukAuthor
Inspiring
March 19, 2019

Think I've solved it.

The appears to work:

var r = new RegExp("^[0-9a-zA-Z]*$");

var result = r.test(event.change);

if ( result != true )

{

    event.change = "";

} else {

    event.change = event.change.toUpperCase();

}

P.S.     Here's another question... how do I format my code correctly for this forum?

          Thanks.

try67
Community Expert
Community Expert
March 19, 2019

To reject the entered value you should use this code:

event.rc = false;

deckarduk
deckardukAuthorCorrect answer
Inspiring
March 20, 2019

Thanks for the help.

After a little playing around I managed to condense everything to 2 lines.

var r = new RegExp("^[0-9a-zA-Z]*$");

if (r.test(event.change)) {event.change = event.change.toUpperCase()} else {event.rc = false};

This seems to do the trick.