Bobby Jones
Bobby Jones

Reputation: 41

What does "/^\s*$/" mean in this javascript?

I have this javascript that works well in my PDF form to set a field as required if another field contains data. However, I want to have it ignore a value of "0.00" for the test. But I do not know what /^\s*$/ means let alone how to alter the script for my condition.

var rgEmptyTest = /^\s*$/;
// t is the value to be tested and f is the field to set accordingly
function testMyField (t, f) {
if (rgEmptyTest.test(t)) {
this.getField(f).required = false;         
} else {
this.getField(f).required = true;         
}
}

Thank you!

Upvotes: 0

Views: 1023

Answers (3)

Bobby Jones
Bobby Jones

Reputation: 41

I think I got this to work:

var rgEmptyTest = /^\s*$/;
var rgTest = /^[0\.00]$/;
// t is the value to be tested and f is the field to set accordingly
function testMyField (t, f) {
if (rgEmptyTest.test(t) || rgTest.test(t)) {
this.getField(f).required = false;         
} else {
this.getField(f).required = true;         
}
}

Thank you @Higor Lorenzon and @j08691!

Upvotes: 0

Higor Lorenzon
Higor Lorenzon

Reputation: 9

In your piece of code there is a function that uses regex

A javaScript regExp reference for you.

Thanks @j08691 for the link that explains and let you test the regex used (regexr.com/3rf9u).

You can change your code like this to make a logical exception

var rgEmptyTest = /^\s*$/;
var rgTest = /0.00/;
// t is the value to be tested and f is the field to set accordingly
function testMyField (t, f) {
  if (rgEmptyTest.test(t) || rgTest.test(t)) {
    this.getField(f).required = false;         
  } else {
    this.getField(f).required = true;         
  }
}

I guess it should work

Upvotes: 1

user2693928
user2693928

Reputation:

\s means space * Means any number " " This is empty " " This too

Upvotes: 0

Related Questions