JavaScript regelmäßig Praxis (wird kontinuierlich auf der Grundlage der jüngsten Schreiben aktualisiert)
1..
Regelmäßiger Expressionskonstruktor: neuer Regexp ("Muster" [, "Flags"]);
Funktionsweise von regelmäßiger Expression Variable Funktion: StringObj.Replace (regexp, ersetzen Text);
Parameterbeschreibung:
Muster - ein regulärer Ausdruckstext
Flags - Wenn vorhanden, ist es der folgende Wert:
G: Globales Match
I: Ignorieren Sie den Fall
GI: Die obige Kombination
// Das folgende Beispiel wird verwendet, um zwei Parameter von URL zu erhalten und den realen Urlvar vor urlrewrite reg = new Regexp zurückzugeben ("(http://www.qidian.com/bookreader/)(//d+),(//d+).aspx", "GMI"); url = "http://www.qidian.com/bookreader/1017141,20361055.aspx"; // Methode 1, die einfachste und am häufigsten verwendete Methode var rep = url.replace (Reg, "$ 1showbook.aspx? bookId = $ 2 & capeling = $ $ 3"); rep2 = url.replace (reg, function (m, p1, p2, p3) {return p1+"showbook args [1]+"showbook.aspx? bookId ="+args [2]+"& chapterid ="+args [3];}); alert (rep3); // Methode 4 // Methode 4 ist der Methode sehr ähnlich. Zusätzlich zur Rückgabe der ersetzten Zeichenfolge können Sie auch den Parameter var bookid erhalten. var ChapterID; Funktion captext () {var args = argumente; bookId = args [2]; KapitelID = args [3]; return args [1]+"showbook.aspx? bookId ="+args [2]+"& chapterid ="+args [3];} var rep4 = url.replace (reg, captext); alert (rep4); alert (bookId); alert (chapterId); // Verwenden Sie die Testmethode, um die Gruppierung var reg3 = neu zu verwenden = Neue = Neue = Neue = Neue) Regexp ("(http://www.qidian.com/bookreader/)(//d+) ,(//d+).aspx", "gmi"); reg3.Test ("http://www.qidian.com/bookreader/1017141,205555.aspx"); Alert (Regexp. $ 2); Alert (Regexp. $ 3);2. Die am häufigsten verwendeten Test -Exec -Übereinstimmungssuche Ersetzen Sie Split 6 -Methoden Ersetzen
1) Testen überprüfen, ob die angegebene Zeichenfolge vorliegt
var data = “123123 ″;
var recat = /123 /gi;
alert (recat.test (data)); //WAHR
// Überprüfen Sie, ob der Charakter existiert G weiter unten.
2) Exec gibt den Abfragwert zurück
var data = "123123,213,12312,312,3, CAT, CAT, DSFSDFS,";
var recat = /cat /i;
alert (recat.exec (data)); //Katze
3) Match erhält das Abfragearray
var data = "123123,213,12312,312,3, CAT, CAT, DSFSDFS,";
var recat = /cat /gi;
var arrmactches = data.match (recat)
für (var i = 0; i <arrmactches.length; i ++)
{
alarm (arrmactches [i]); // Cat Cat
}
4) Suchrückgabe -Suchposition ähnlich wie indexof
var data = "123123,213,12312,312,3, CAT, CAT, DSFSDFS,";
var recat = /cat /gi;
alert (data.Search (recat)); // 23
5) Ersetzen Sie das Ersatzcharakter durch regelmäßigen Austausch
var data = "123123,213,12312,312,3, CAT, CAT, DSFSDFS,";
var recat = /cat /gi;
alert (Data.Replace (recat, "libinqq"));
6) Mit regulärem Segmentierungsarray aufgeteilt
var data = "123123,213,12312,312,3, CAT, CAT, DSFSDFS,";
var recat = //,/;
var arrdata = data.split (recat);
für (var i = 0; i <arrdata.length; i ++)
{
alarm (arrdata [i]);
}
3.. Sammlung von häufig verwendeten Ausdrücken:
"^// d + $" // nicht negative Ganzzahl (positive Ganzzahl + 0)
"^[0-9]*[1-9] [0-9]*$" // Positive Ganzzahl
"^((-// d+) | (0+)) $" // keine positive Ganzzahl (negative Ganzzahl+0)
"^-[0-9]*[1-9] [0-9]*$" // Negative Ganzzahl
"^-? // d+$" // Integer
"^// d+(//.// d+)?
"^(([0-9]+//. [0-9]*[1-9] [0-9]*) | ([0-9]*[1-9] [0-9]*//. [0-9]+) |
// positive schwimmende Punktzahl
"^((-// d+(//./ D+)?) | (0+(//. 0+)?)) $" // nicht-positive schwimmende Punktzahl (negative Schwimmpunktzahl+0)
"^(-(([0-9]+//. [0-9]*[1-9] [0-9]*) | ([0-9]*[1-9] [0-9]*//. [0-9]+) |
// Negative Schwimmpunktzahl
"^(-? // d+) (//.// d+)? $" // schwimmende Punktnummer
"^[A-za-z]+$" // Eine Zeichenfolge, die aus 26 englischen Buchstaben besteht
"^[Az]+$" // Eine Zeichenfolge, die aus 26 englischen Buchstabenkapitalisierungen besteht
"^[Az]+$" // Eine Zeichenfolge, die aus Kleinbuchstaben von 26 englischen Buchstaben besteht
"^[A-za-z0-9]+$" // Eine Zeichenfolge, die Zahlen und 26 englische Buchstaben zusammengestellt hat
"^// w+$" // Eine Zeichenfolge, die aus Zahlen, 26 englische Buchstaben oder Unterstriche zusammengestellt wurde
"^[// w-]+(//. [// w-]+)*@[// w-]+(//. [// w-]+)+$" // E-Mail-Adresse
"^[a-za-z]+: // (// w+(-// w+)*) (//. (// w+(-// w+)*))*(//? // s*)? $" // url
"^[A-za-z0-9 _]*$".
Grundlagen regelmäßiger Ausdrücke
^ Entspricht einem Eingang oder dem Beginn einer Zeile, /^ a / übereinstimmt "a a", aber nicht "ein a"
$ entspricht dem Ende eines Eingangs oder einer Leitung, / a $ / Matches "A a", aber nicht "A a"
* Passen Sie den vorherigen Metacharacter 0 oder mehrmal
+ Übereinstimmung mit dem vorherigen Metacharacter 1 oder mehrmal
? Passen Sie den vorherigen Metacharacter 0 oder 1 Mal an, / ba? / Wird mit B, BA übereinstimmen
(x) Match X speichert X in einer Variablen namens $ 1 ... $ 9
x | y passt zu x oder y
{n} exakte Übereinstimmung n mal
{n,} über das mehr als n -mal übereinstimmen
{n, m} übereinstimmern NM Times
[xyz] Zeichensatz, die in diesem Satz einen beliebigen Charakter (oder Metacharacter) entspricht
[^xyz] stimmt in dieser Sammlung keinen Charakter überein
[/b] Passen Sie einen Backpace -Charakter an
/B übereinstimmen der Grenze eines Wortes
/B übereinstimmen, dass der nicht begrenzte Word entspricht
/cx hier ist x ein Steuerzeichen, // cm/übereinstimmt Strg-M
/D entspricht einem Zeichen, // d/=/[0-9]//
/D entspricht einem numerischen Nicht-Wort-Zeichen, // d/=/[^0-9]///
/n entspricht einem neuen Charakter
/R entspricht einem Wagenrücklaufcharakter
/s entspricht einem Whitespace -Zeichen, einschließlich/n,/r,/f,/t,/v usw.
/S entspricht einem Nicht-Whitespace-Zeichen, der/[^/n/f/r/t/v]/entspricht
/T entspricht einem Registerkartenzeichen
/V entspricht einem Registerkartenzeichen des Umleitungs -Registerkartens
/W entspricht einem Charakter, das ein Wort bilden kann (alphanumerisch, was meine Übersetzung, einschließlich Zahlen), einschließlich Unterstriche, wie z.
/W übereinstimmen mit einem Zeichen, das kein Wort bilden kann, wie z. B. [/w] $ $ in "5,98" übereinstimmt, was gleich [^a-za-z0-9] ist.