2016-11-29 5 views
0

Ich versuche, das "Muster" -Attribut für HTML5 zu verwenden, aber ich habe nicht viel Erfahrung in der Regex.HTML - Muster, um Nomenklatur zu validieren

Die Nomenklatur, die ich bestätigen möchte, ist die folgende:

0100455_LM_Izaguirre 

Wo „0100455“ wird in der Regel 7 bis 10 Zeichen lang sein, „LM“ kann „LM, LI, AQ“ und alles variieren, das kommt nachher (zB "Izaguirre") ist ein Text mit mindestens 1 Zeichen. Wichtig ist, dass Skripte gepflegt und benötigt werden.

All dies ist notwendig, um einen Wert zu validieren, der dann in PHP geändert wird und später in ein Word mit PHPWord eingefügt wird.

//0100455_LM_Izaguirre 
$sitebase = "0100455_LM_Izaguirre"; 
$string = explode("_", $sitebase); 
$idcontrol = $string[1].'_'.$string[0]; 
+0

Sollte dies in Javascript (Client-Seite) oder PHP (Server behandelt werden -Seite)? –

+0

Es ist für PHP. Es funktionierte gut^[0-9] {7,10} _ [A-Z] {2} _ [A-Za-z \ s] + $ – Kokox

+1

Sie könnten auch die Verwendung von Zeichenklassen in Erwägung ziehen, z. \ d anstelle von 0-9, \ w anstelle von AZ, sofern _a-z_ und '_' in diesen Abschnitten nicht akzeptabel sind - siehe [dieses Spickzettel] (https://courses.cs.washington.edu/courses /cse190m/12sp/cheat-sheets/php-regex-cheat-sheet.pdf) –

Antwort

2

^[0-9]{7,10}_[A-Z]{2}_[A-Za-z]+$ wird das RegexMuster sein, wenn LM werden alle 2 charecters sein.

^[0-9]{7,10}_(LM|LI|AQ)_[A-Za-z]+$ wird das Regex-Muster sein, wenn LM nur {LM, LI, AQ} ist.

Demo: -

var rx = /^[0-9]{7,10}_(LM|LI|AQ)_[A-Za-z]+$/gm; 
 
console.log("0100455_LM_Izaguirre".match(rx)); 
 
console.log("0100455_YM_Izaguirre".match(rx)); 
 
console.log("0100455_AQ_Izaguirre".match(rx));

null Keine Treffer zurück

Verwandte Themen