const regex = /^[+|-]?(90.0{6}|[0-8]?[0-9].[0-9]{6})$/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('^[+|-]?(90.0{6}|[0-8]?[0-9].[0-9]{6})$', 'gm')
const str = `// Valid values
-90.000000
90.000000
1.000000
-1.000000
9.999999
88.888888
77.777777
66.666666
55.555555
44.444444
33.333333
22.222222
11.111111
00.000000
-9.999999
-88.888888
-77.777777
-66.666666
-55.555555
-44.444444
-33.333333
-22.222222
-11.111111
// Invalid values
-90.000001
-90.000010
-90.000100
-90.001000
-90.010000
-90.100000
-91.000000
90.000001
90.000010
90.000100
90.001000
90.010000
90.100000
91.000000
+190.000000
190.000000
-190.000000
-90.00000
-90.0000
-90.000
-90.00
-90.0
-90.
-90
-9
190.000000
90.00000
90.0000
90.000
90.00
90.0
90.
90
9
`;
// Reset `lastIndex` if this regex is defined globally
// regex.lastIndex = 0;
let m;
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions