Empfohlen: Exportieren Sie Excel -Dateien in einem Instanz -Parsen -ASP -Programm Eine Möglichkeit, Excel in ASP zu verwenden, besteht darin, die Excel -Datei als Datenbank zu verknüpfen, und der Vorgang ähnelt der Zugriffsdatenbankoperation. Diese Methode ist jedoch nicht immer nützlich, es sollte sein, dass Excel keine relationale Datenbank ist. Für ein festes Format,
Was ist Regexp in ASP
'Name Character Check
| Das Folgende ist der zitierte Inhalt: Öffentliche Funktion Checkname (STR) Checkname = true Dim Rep, Pass SET REP = New Regexp 'Erstellen Sie regelmäßigen Ausdruck. Rep.global = true 'setzen die globale Verfügbarkeit. Rep.ignorecase = true 'setzen 'Set -Modus. Rep.pattern = [u0009u0020U0022-U0028U002C-U002EU003A-U003FU005BU005CU0060U007CU007EU00FFUE5E5] Setzen Sie Pass = rep.execute (str) 'Führen Sie eine reguläre Ausdrucksuche in der angegebenen Zeichenfolge durch. Wenn pass.count <> 0, dann checkName = false 'response.write (checkname) 'response.end () Setze rep = nichts Endfunktion |
Wenn wir Websites, insbesondere verschiedene E-Commerce-Websites, erstellen, werden wir zuerst die Benutzer auffordern, einige Formulare auszufüllen, um verschiedene Informationen über registrierte Benutzer zu erhalten, da Benutzer möglicherweise verschiedene Informationen eingeben, und einige Daten, die den Anforderungen nicht entsprechen, verursachen unnötigen Schwierigkeiten in unserem Back-End-ASP-Prozessor und verursachen sogar einige Sicherheitsprobleme auf der Website. Bevor wir diese Informationen in der Website -Datenbank speichern, müssen wir daher die Rechtmäßigkeit der Dateneingaben dieser Benutzer überprüfen, damit die nachfolgenden Programme sicher und reibungslos ausgeführt werden können. Daher schreiben wir normalerweise ein ASP -Überprüfungsprogramm in das Backend, um zu analysieren, ob die vom Benutzer eingegebenen Daten legal sind.
Einige Leute fragen möglicherweise, dass Sie JavaScript, das auf dem Client ausgeführt wird, nicht verwenden, um Benutzerdaten besser und schneller zu überprüfen? In der Tat ist dies in den meisten Fällen in Ordnung, warum in den meisten Fällen? Da das von Ihnen geschriebene JavaScript möglicherweise nicht ganz normal ist, um gleichzeitig auf IE und NetScape auszuführen, da Jscript von Microsoft nicht vollständig mit JavaScript ist und einige Browser nicht unbedingt mit Microsoft kompatibel sind, und Netscape ist daher sehr wahrscheinlich, dass der JavaScript den Kunden nicht genau die verschiedenen Daten, die mit dem Benutzer mit dem Benutzer befasst sind, nicht genau verifizieren. Das ASP -Programm läuft auf der Serverseite, hängt jedoch mit der Umgebung Ihres Servers zusammen. Unabhängig davon, welcher Browser der Kunde ist, gibt es keinen Unterschied für Ihr ASP -Programm. Die Verwendung des Backend -ASP -Programms, um die Datenrechnung zu überprüfen, ist eine gute Wahl.
Bei der Verwendung von ASP zur Überprüfung der Datenlegitimität des Backends haben einige Leute viele Funktionen geschrieben, um sie zu implementieren, um die Datenüberprüfung in verschiedenen Umgebungen zu erfüllen. Wenn wir beispielsweise überprüfen möchten, ob die vom Benutzer eingegebene URL -Adresse legal ist, können wir einen Code schreiben, um die vom Benutzercharakter eingegebenen Informationen nacheinander zu analysieren. Wenn die zu analysierende Informationsmenge gering ist, ist es einfacher, sich umzugehen. Wenn sich die Analysebedingungen ändern, wird sie miserabel sein. Wir müssen nicht nur sehr lange und umständliche Code schreiben, sondern die Betriebseffizienz ist äußerst gering. Gibt es eine gute Lösung? Ja, das ist das von VBScriptp5.0 bereitgestellte reguläre Ausdrucksobjekt. Solange Ihr Server IE5.x installiert hat, bringt er VBScript5.0. Tatsächlich wurden reguläre Ausdrücke ursprünglich unter Unix patentiert, insbesondere in der Perl -Sprache. Genau aufgrund der leistungsstarken Funktionen regelmäßiger Ausdrücke portiert Microsoft langsam regelmäßige Ausdrucksobjekte in das Fenstersystem und verwendet sie.
Für reguläre Ausdrucksobjekte können wir die Rechtmäßigkeit verschiedener Daten leicht überprüfen.
Lassen Sie uns zunächst verstehen, was genau ein reguläres Ausdrucksobjekt von VBScript ist. Schauen wir uns zuerst ein Programm an:
| Das Folgende ist der zitierte Inhalt: Funktion Checkkexp (Patrn, Strng) Dim Regex, übereinstimmen 'Variablen erstellen. Setzen Sie Regex = New Regexp 'Erstellen Sie regelmäßige Ausdruck. regex.pattern = patrn 'set modus. regex.ignorecase = true 'setzen Sie, ob Zeichenfallempfindlichkeit. regex.global = true 'setzen die globale Verfügbarkeit. Matches = regex.test (strng) 'führen eine Suche durch. Checkexp = Übereinstimmungen Endfunktion |
In diesem Programm sehen wir, dass neuer Regexp verwendet werden kann, um ein reguläres Ausdrucksobjekt zu erhalten, und dann wird dem Objekt eine regelmäßige Matching -Vorlage zugewiesen, dh dem regulären Ausdrucksobjekt, mit welcher Art von Vorlage Sie übereinstimmen, und dann den Methode -Test verwenden, um festzustellen, ob die zu verarbeitenden Daten mit der von uns angegebenen Vorlage übereinstimmen. Wenn es nicht übereinstimmt, bedeutet dies, dass die zu verarbeitenden Daten keine rechtlichen Daten sind, was die Überprüfung der Datenverwalsamkeit realisiert. Wir können sehen, dass wir mit einer ordnungsgemäß gestalteten Übereinstimmung Vorlage eine Stapel von Dateninformationen in einem Format leicht überprüfen können.
Das reguläre Expressionsobjekt in VBScript 5.0 verfügt jedoch über viele andere Methoden und Eigenschaften, wie z. B. die Methode ersetzt (). Mit der Verwendung können wir das modische UBB Style Forum und BBS online implementieren. Dies liegt nicht in unserem Diskussionsbereich. Wir werden es später besprechen. Schauen wir uns die häufig verwendeten Methoden und Eigenschaften regulärer Expressionsobjekte in der Datenüberprüfung an:
Häufige Methoden: Methode ausführen
Beschreibung: Führen Sie eine reguläre Ausdrucksuche in der angegebenen Zeichenfolge durch.
Syntax: Object.execute (String) Die Syntax der Ausführungsmethode enthält die folgenden Teile:
Objekt: Erforderlich. Immer der Name eines Regexp -Objekts.
Zeichenfolge: Erforderlich. Die Textzeichenfolge, auf der der reguläre Ausdruck ausgeführt werden soll.
Beschreibung: Das Entwurfsmuster der regulären Ausdrucksuche wird durch das Muster des Regexp -Objekts festgelegt. Die Ausführungsmethode gibt a zurück
Übereinstimmende Sammlung, die jedes Matching -Match -Objekt enthält, das in String gefunden wurde. Wenn keine Übereinstimmung gefunden wird, gibt Execute eine leere Übereinstimmungskollektion zurück.
Testmethode
Beschreibung: führt eine regelmäßige Ausdrucksuche in der angegebenen Zeichenfolge aus und gibt einen booleschen Wert zurück, der angibt, ob ein Matching -Muster gefunden wurde.
Syntax: Object.test (String)
Die Syntax der Testmethode enthält die folgenden Teile:
Objekt: Erforderlich. Immer der Name eines Regexp -Objekts.
Zeichenfolge: Erforderlich. Die Textzeichenfolge, um eine reguläre Ausdrucksuche durchzuführen.
Hinweis: Das tatsächliche Muster der regulären Ausdrucksuche wird durch die Mustereigenschaft des Regexp -Objekts eingestellt. Die Regexp.global -Eigenschaft hat keinen Einfluss auf die Testmethode. Wenn ein Matching -Muster gefunden wird, gibt die Testmethode wahr. Ansonsten kehrt es falsch zurück.
Gemeinsame Eigenschaften: Globale Eigenschaften
Beschreibung: Legt oder gibt einen booleschen Wert zurück, der angibt, ob das Muster während der gesamten Suchzeichenfolge mit allen oder nur dem ersten übereinstimmt.
Syntax: Object.global [= true | FALSCH ]
Der Objektparameter ist immer ein Regexp -Objekt. Wenn die Suche auf die gesamte Zeichenfolge angewendet wird, hat die globale Eigenschaft einen Wert von True, andernfalls ist ihr Wert falsch. Die Standardeinstellung ist wahr.
Ignorecase -Attribut
Beschreibung: Setzt oder gibt einen booleschen Wert zurück, der angibt, ob die Modus -Suche für Fall sensibel ist.
Syntax: Object.IignoreCase [= true | FALSCH ]
Der Objektparameter ist immer ein Regexp -Objekt. Wenn die Suche in Fall sensibel ist, ist die Ignorecase -Eigenschaft falsch; Ansonsten wahr. Der Standardwert ist wahr.
Mustereigenschaften
Beschreibung: Setzt oder gibt das reguläre Ausdrucksmuster gesetzt oder zurück, das gesucht wird. Dies ist das wichtigste Attribut, und wir setzen dieses Attribut hauptsächlich, um die Datenüberprüfung zu erreichen.
Syntax: Object.pattern [= SearchString]
Die Syntax der Mustereigenschaft enthält die folgenden Teile:
Objekt: Erforderlich. Immer eine Regexp -Objektvariable.
SearchString: Optional. Der reguläre String -Ausdruck wird durchsucht. Es kann verschiedene reguläre Ausdruckszeichen enthalten, die in einer Teiltabelle festgelegt sind.
Einstellungen: Sonderzeichen und Sequenzen werden beim Schreiben von Mustern für reguläre Ausdrücke verwendet. Die folgende Tabelle beschreibt die Zeichen und Sequenzen, die verwendet werden können, und geben Beispiele an.
Charakterbeschreibung: Markieren Sie den nächsten Charakter als spezieller Charakter oder wörtlicher Wert. Zum Beispiel entspricht N dem Charakter n. N Übereinstimmung mit Zeilenbrüchen. Sequenz/Übereinstimmung (Match.
^: Passen Sie die Startposition der Eingabe an.
$: Passen Sie das Ende der Eingabe an.
*: Passen Sie den vorherigen Charakter Null oder mehrmals an. Zum Beispiel kann Zo* Z und Zoo übereinstimmen.
: Passen Sie den vorherigen Charakter einmal oder mehr an. Zum Beispiel kann ZO Zoo übereinstimmen, aber nicht Z.
?: Passen Sie den vorherigen Charakter Null oder einmal an. Zum Beispiel ein? Ve? kann VE in nie zugute kommen.
.: Passen Sie einen anderen Charakter als Linienbrüche an.
(Muster) passen Sie das Muster an und erinnern Sie sich an die Übereinstimmung. Das passende Substring kann aus der resultierenden Übereinstimmungssammlung mit Element [0] ... [n] erhalten werden. Wenn Sie die Klammzeichen (und) anpassen möchten, können Sie (oder) verwenden.
X | Y: Übereinstimmung X oder Y. Zum Beispiel kann Z | Food Z oder Food übereinstimmen. (z | f) OOD passt zu Zoo oder Essen.
{n}: n ist eine nicht negative Ganzzahl. Passen Sie genau n -mal an. Zum Beispiel kann O {2} nicht mit O in Bob übereinstimmen, aber die ersten beiden O in foooood.
{n,}: n ist eine nicht negative Ganzzahl. Mindestens n -mal passen. Zum Beispiel stimmt O {2,} nicht mit O in Bob überein, sondern alle o in foooood. o {1,} entspricht o. o {0,} ist äquivalent zu O*.
{n, m}: m und n sind nicht negative Ganzzahlen. Mindestens n -mal, bis zu m -mal. Zum Beispiel entspricht O {1,3} mit den ersten drei Betriebssystemen in Fooooood. o {0,1} ist äquivalent zu o?.
[XYZ]: Ein Zeichensatz. Entspricht einem der Charaktere in Klammern. Zum Beispiel entspricht [ABC] in einfacher.
[^xyz]: ein negativer Zeichensatz. Passen Sie die Charaktere nicht in dieser Halterung an. Zum Beispiel kann [^abc] P in einfach übereinstimmen.
[AZ]: repräsentiert einen Charakter innerhalb eines bestimmten Bereichs. Entspricht jedem Zeichen innerhalb des angegebenen Intervalls. Zum Beispiel entspricht [AZ] jedem alphabetischen Charakter von Kleinbuchstaben zwischen a und z.
[^mz]: Negatives Zeichenintervall. Entspricht Zeichen, die nicht innerhalb des angegebenen Intervalls liegen. Zum Beispiel entspricht [MZ] jedem Charakter, der nicht zwischen m und z liegt.
B: Passen Sie die Grenze des Wortes an, dh die Position zwischen dem Wort und dem Raum. Zum Beispiel entspricht ERB ER in nie, passt aber nicht in Verb überein.
B: Übereinstimmung mit Nicht-Wort-Grenzen. ea*rb passt zum Ohr in nie früh.
D: passt zu einem numerischen Charakter. Äquivalent zu [0-9].
D: Übereinstimmung mit nicht numerischen Zeichen. Äquivalent zu [^0-9].
F: Übereinstimmende Seitenbrüche.
N: Übereinstimmende Zeilenbrennungsfiguren.
R: Stimmt mit dem Wagenrücklaufcharakter zusammen.
S: Übereinstimmung mit jedem weißen Charakter, einschließlich Leerzeichen, Registerkarten, Seitenunterbrechungen usw., entspricht [fnrtv].
S: Übereinstimmung mit einem Nicht-Blank-Charakter. Äquivalent zu [^ fnrtv].
T: Übereinstimmung mit dem Registerkarte.
V: Übereinstimmung mit vertikalen Registerkartenzeichen.
W: Übereinstimmung mit jedem Wortcharakter, einschließlich Unterstrich. Äquivalent zu [A-Za-Z0-9_].
W: Übereinstimmung mit jedem Nicht-Wort-Charakter. Äquivalent zu [^a-za-z0-9_].
NUM: Passt Num, wobei Num eine positive Ganzzahl ist. Zitat zurück, um sich zu erinnern. Zum Beispiel (.) 1 entspricht zwei aufeinanderfolgenden identischen Zeichen.
N: Match N, wobei N ein Oktalcode -Übertragungswert ist. Der Oktalcode -Übertragungswert muss 1, 2 oder 3 Zahlen lang sein.
Zum Beispiel entsprechen sowohl 11 als auch 11 mit einer Registerkarte. 011 entspricht 01 und 1. Der Oktalcode -Übertragungswert darf 256 nicht überschreiten. Andernfalls werden nur die ersten beiden Zeichen als Teil des Ausdrucks angesehen. Ermöglicht die Verwendung von ASCII -Code in regulären Ausdrücken.
XN: Match N, wobei n ein Hexadezimal -Code -Übertragungswert ist. Der Hexadezimal -Code -Übertragungswert muss genau zwei Zahlen lang sein. Zum Beispiel entspricht X41 A. x041 X04 und 1. Ermöglicht die Verwendung von ASCII -Code in regulären Ausdrücken.
Okay, dies sind die häufig verwendeten Methoden und Attribute. Die obige Syntax ist bereits sehr detailliert, sodass Sie nicht darüber sprechen müssen. Schauen wir uns anschließend an, wie Sie diese Methoden und Attribute verwenden, um die Legitimität der Daten in bestimmten Beispielen zu überprüfen. Lassen Sie uns ein Beispiel geben. Zum Beispiel möchten wir die E -Mail -Eingabe durch den Benutzer überprüfen. Welche Art von Daten wird als rechtliche E -Mail angesehen? Ich kann Folgendes eingeben: [email protected], natürlich werde ich auch folgendermaßen eingeben: [email protected], aber diese Eingabe ist illegal: xxx @@ com.cn [email protected] usw., sodass wir eine rechtliche E -Mail -Adresse erhalten, die zumindest die folgenden Bedingungen erfüllen sollte:
1. muss ein und nur ein Symbol @ enthalten
2. Muss mindestens eine höchste drei Symbole enthalten.
3. Das erste Charakter darf nicht @ oder sein.
4. @ .Or. @ Ist nicht erlaubt
5. Das Ende darf kein Zeichen @ oder sein.
Basierend auf den obigen Prinzipien und der Syntax in der obigen Tabelle können wir die erforderliche Vorlage wie folgt leicht erhalten: (w) [@] {1} (w) [.] {1,3} (w)
Lassen Sie uns als nächstes diese Vorlage sorgfältig analysieren. Erstens bedeutet W, dass der Startcharakter der E -Mail nur ein Wortcharakter sein kann, das einen Unterstrich enthält, so dass der dritte Zustand erfüllt ist. [@] {1} bedeutet, dass das Zeichen in der E -Mail übereinstimmt und nur einmal übereinstimmen kann und der Zustand einer erfüllt ist; Das gleiche [.] {1,3} bedeutet, dass mindestens 1 an höchstens 3 Zeichen in der E -Mail übereinstimmt. , die zweite Bedingung erfüllen; Die letzte (w) der Vorlage zeigt an, dass das Endcharakter nur ein Wortzeichen sein kann, das einen Unterstrich enthält, was die Bedingung fünf erfüllt; (w) in der Mitte der Vorlage trifft die Bedingung vier.
Anschließend nennen wir einfach die Funktion schecktexp ((w) [@] {1} (w) [.] {1} (w), die zu überprüfen). Wenn True zurückgegeben wird, bedeutet dies, dass die Daten legal sind, andernfalls ist sie falsch. Wie wäre es einfach, es ist einfach. Wir können auch eine Vorlage zum Überprüfen der ID-Nummer schreiben: ([0-9]) {15}; Eine Vorlage zur Überprüfung der URL: ^http: // {1} ((w) [.]) {1,3} usw.; Wir können sehen, dass diese Vorlagen uns sehr gute wiederverwendbare Module bieten. Mit verschiedenen Vorlagen, die von uns selbst oder anderen bereitgestellt werden, können wir die Legalität der Daten leicht und schnell überprüfen. Ich glaube, Sie werden auf jeden Fall eine sehr allgemeine Vorlage schreiben.
Auf diese Weise können wir die Rechtmäßigkeit verschiedener Daten durchpassen, indem wir verschiedene Vorlagen anpassen. Daher ist das wichtigste Attribut im regulären Expressionsobjekt das Musterattribut. Nur wenn Sie dieses Attribut wirklich beherrschen, können Sie das reguläre Ausdrucksobjekt frei verwenden, um unsere Datenüberprüfung zu erfüllen.
Verwenden Sie dieselben Regeln
| Das Folgende ist der zitierte Inhalt: String str = <img src =/upimg/Allimg/081024/0851350.jpg> <img src =/upimg/Allimg/081024/0851351.jpg> <img Src =/upimg/Allimg/081024/085135135222.jpg> Regex reg = new regex (<imgs src = (['|]?) (S .w) (1)); MatchCollection MC = Reg.Matches (Eingabe); foreach (Match M in MC) { Tb_result.appendText (string.format ({0} ist MatchRN, M.Groups [0])); für (int i = 0; i <m.groups.count; i) { // Die Bildadresse sollte M.Groups sein [2] .Value Antwort.Write (string.format (Gruppe [{0}] = {1} rn, i, m.groups [i] .Value)); } } |
// Wie viele Übereinstimmungen gibt es
Response.write (mc.count.toString ());
Share: So verwenden Sie das ASP -Programm, um die Alexa World -Rangliste der Website zu lesen Immer wenn das Alexa -Ranking aktualisiert wird, muss ich die Rankings aller verwandten ähnlichen Websites aussortieren und die Ranglisten -Updates dieser konkurrierenden Websites sehen. Ich habe mehr getan und bin verärgert. Obwohl ich nur mehr als 30 Websites habe, fühle ich mich ein wenig müde, nachdem ich sie nacheinander beobachtet habe. Deshalb will ich