2017-06-17 2 views
-1

Hier ist mein Szenario möchte ich einschränken mit unterWie man Javascript regex Muster mit der genauen Übereinstimmung der Stelle und der Alphabete erzeugt?

mit Most von 8 Zeichen JavaScript RegexMuster erstellen
  • einen Buchstaben [AZ] (Nur Großbuchstaben)
  • sieben Ziffern [0-9]

    var data = ['A1234567', '1234567', 'C1234567']; 
    data.map(function(q, index) { 
    if (q.match(/[A-Z]{1}^\d{7}$/gi)) { 
        console.log('Data ' + index + 'matched', q) 
    } else { 
        console.log('Not matched') 
    } 
    }); 
    

RegexMuster ist /[AZ] {1}^\ d {7} $/gi

Alle drei sind nicht abgestimmt.Hier was mache ich falsch?

+0

warum ist '^' in der Mitte? –

Antwort

1

Versuchen Sie, die folgende regex:

[A-Z][0-9]{7} 

Erläuterung:

[A-Z]    Match initial capital letter 
[0-9]{7}   Match 7 numbers 
0 hier

Demo:

var data = ['A1234567', '1234567', 'AC123456', 'a1234567', '123G4567']; 
 
data.map(function(q, index) { 
 
if (q.match(/^[A-Z][0-9]{7}/gm)) { 
 
    console.log('Data ' + index + ' matched', q) 
 
} else { 
 
    console.log('Data ' + index + ' not matched', q) 
 
} 
 
});

+0

hier möchte ich zuerst Zeichen muss immer Zeichen es sollte nicht in der Mitte oder ending.remaining Ich muss sieben als Ziffern haben – rselvaganesh

0

Versuchen Sie mit unten Regex, alphabetisches Zeichen am Anfang der Zeichenfolge vorausgesetzt.

^[A-Z][0-9]{7}

var data = ['A1234567', '1234567', 'C1234567']; 
 
data.map(function(q, index) { 
 
if (q.match(/^[A-Z][0-9]{7}/gm)) { 
 
    console.log('Data ' + index + 'matched', q) 
 
} else { 
 
    console.log('Not matched') 
 
} 
 
});

0

Ihre regex ist falsch. Versuchen Sie, den folgenden Code:

var data = ['A1234567', '1234567', 'C1234567']; 
var regex = /[A-Z]{1}\d{7}/gi; 
data.map(function(q, index) { 
    if (q.match(regex)) { 
    console.log('Data ' + index + ' matched', q) 
    } else { 
    console.log('Not matched') 
    } 
}); 

Als Bonus, wenn Sie mit den angepassten Muster ein gefiltertes Array zurückgeben möchten:

var data = ['A1234567', '1234567', 'C1234567']; 
var regex = /[A-Z]{1}\d{7}/gi; 
var filteredArray = data.filter(function(q) { 
    return q.match(regex) 
}); 

console.log(filteredArray); // will be ['A1234567', 'C1234567']; 
Verwandte Themen