2016-12-21 2 views
2

Ich habe diese RegEx, die Menschen erlaubt, maximal 7 Ziffern vor dem Dezimaltrennzeichen eingeben und zwei nach dem ist optional.Wie kann ich diese RegEx in JavaScript RegExp Objekt machen?

Ich denke, es wäre besser, sie in eine Variable zu setzen. Ich habe mit Leuten durchsucht, die das Objekt RegExp verwenden, aber ich bin immer noch verwirrt, wie es gemacht wird.

Das ist, was ich mit meiner RegEx habe.

/^(\d{1,7})(\.\d{2})?$/ 
+0

Sie können prüfen, mit ' ' – Tushar

Antwort

2

können Sie den folgenden Code verwenden:

var max1 = 7; 
 
var max2 = 2; 
 
var rx = new RegExp("^(\\d{1," + max1 + "})(\\.\\d{" + max2 + "})?$"); 
 
console.log(rx.test("1234567.12")); 
 
console.log(rx.test("1234567.123")); 
 
console.log(rx.test("12345678.12"));

Überprüfen Sie auch diese Beiträge:

+0

das ist nett ... dachte nie daran, die maximalen Zahlen in Variablen zu extrahieren. habe wieder etwas gelernt ... thx thx – Dora

0

können Sie:

var patt = new RegExp(/^(\d{1,7})(\.\d{2})?$/); 

Wie Test:

console.log(patt.test('1234567ab')) : false 

console.log(patt.test('1234567.12')) : true 
+0

Ok ich habe deinen Punkt einfach Grenzen in Variablen übergeben und mit Muster in RegExp anhängen – Sahadev

Verwandte Themen