Recommandé: exporter des fichiers Excel dans une instance analysant le programme ASP Une façon d'utiliser Excel dans ASP est de lier le fichier Excel en tant que base de données, et l'opération est similaire à l'opération de base de données d'accès. Mais cette méthode n'est pas toujours utile, il devrait être qu'Excel n'est pas une base de données relationnelle. Pour un format fixe,
Qu'est-ce que Regexp dans ASP
'Nom de la vérification des caractères
| Ce qui suit est le contenu cité: Nom de vérification des fonctions publiques (STR) Checkname = true DIM REP, PASS Set rep = new regexp 'créer une expression régulière. Rep.global = true 'set la disponibilité globale. Rep.ignorecase = true 'set si pour distinguer les caractères sensibles à la cas 'Set Mode. Rep.Pattern = [U0009U0020U0022-U0028U002C-U002EU003A-U003FU005BU005CU0060U007CU007EU00FUSE5E5] Set Pass = rep.execUte (Str) 'Effectuez une recherche d'expression régulière sur la chaîne spécifiée. Si pass.Count <> 0 alors vérifiez le nom = false 'Response.Write (Nom de contrôle) 'Response.end () Définir Rep = Rien Fonction finale |
Lorsque nous fabriquons des sites Web, en particulier divers sites Web de commerce électronique, nous demanderons d'abord aux utilisateurs de remplir certains formulaires pour obtenir diverses informations sur les utilisateurs enregistrés, car les utilisateurs peuvent saisir diverses informations, et certaines données qui ne répondent pas aux exigences causeront des problèmes inutiles à notre processeur ASP back-end et même causer des problèmes de sécurité au site Web. Par conséquent, avant d'enregistrer ces informations dans la base de données du site Web, nous devons vérifier la légalité de l'entrée de données par ces utilisateurs afin que les programmes suivants puissent être exécutés en toute sécurité et en douceur. Nous écrivons donc généralement un programme de vérification ASP sur le backend pour analyser si les données saisies par l'utilisateur sont légales.
Certaines personnes peuvent demander, ne peut pas utiliser JavaScript en cours d'exécution sur le client pour vérifier les données des utilisateurs mieux et plus rapidement? En effet, c'est OK dans la plupart des cas, pourquoi dans la plupart des cas? Parce que le javascript que vous écrivez peut ne pas être complètement normal pour s'exécuter sur IE et Netscape en même temps, car JScript de Microsoft n'est pas complètement le même que JavaScript, et certains navigateurs ne sont pas nécessairement compatibles avec Microsoft et Netscape, il est donc très probable que le Javascript sur le client ne vérifie pas précisément les différentes données entrées par l'intermédiaire. Le programme ASP s'exécute du côté du serveur, mais il est lié à l'environnement de votre serveur. Peu importe le navigateur du client, il n'y a pas de différence pour votre programme ASP, donc choisir d'utiliser le programme ASP backend pour vérifier la légalité des données est un bon choix.
Lorsque vous utilisez ASP pour vérifier la légitimité des données du backend, certaines personnes ont écrit de nombreuses fonctions pour les implémenter pour répondre à la vérification des données dans différents environnements. Par exemple, si nous voulons vérifier si l'adresse URL entrée par l'utilisateur est légale, nous pouvons écrire un morceau de code pour analyser les informations saisies par le caractère utilisateur un par un. Si la quantité d'informations à analyser est faible, elle est plus facile à gérer. Si les conditions d'analyse changent, ce sera misérable. Non seulement nous devons écrire un code très long et lourd, mais l'efficacité du fonctionnement est extrêmement faible. Y a-t-il une bonne solution? Oui, c'est l'objet d'expression régulière fourni par VBScriptp5.0. Tant que votre serveur a installé IE5.x, il apportera VBScript5.0. En fait, les expressions régulières étaient à l'origine brevetées sous Unix, en particulier dans la langue Perl. C'est précisément en raison des fonctions puissantes des expressions régulières que Microsoft porte lentement l'expression régulière des objets au système de fenêtre et les utilise.
Pour les objets d'expression régulière, nous pouvons facilement vérifier la légalité de diverses données.
Tout d'abord, comprenons ce qu'est exactement un objet d'expression régulière de VBScript. Regardons d'abord un programme:
| Ce qui suit est le contenu cité: Fonction CheckExp (Patn, Strng) Dim Regex, correspond aux variables Créer. Définissez regex = new regexp 'créer une expression régulière. regex.Pattern = Mode Set Patn '. regex.ignorecase = true 'set si la casse de caractère est sensible. regex.global = true 'set la disponibilité globale. Matches = regex.test (strNg) 'effectuer une recherche. CheckExp = correspond aux correspondances Fonction finale |
Dans ce programme, nous voyons que le nouveau regexp peut être utilisé pour obtenir un objet d'expression régulière, puis l'objet se voit attribuer un modèle de correspondance régulière, c'est-à-dire en indiquant à l'objet d'expression régulière quel type de modèle que vous souhaitez faire correspondre, puis à utiliser le test de méthode pour détecter si les données à traiter correspondent au modèle que nous avons donné. S'il ne correspond pas, cela signifie que les données à traiter ne sont pas des données légales, ce qui réalise la vérification de la légalité des données. Nous pouvons voir qu'à l'aide d'un modèle de correspondance correctement conçu, nous pouvons facilement vérifier un lot d'informations sur les données dans un format.
Cependant, l'objet d'expression régulière dans VBScript 5.0 a de nombreuses autres méthodes et propriétés, telles que la méthode remplace (). En utilisant, nous pouvons rapidement implémenter le forum de style UBB à la mode et BBS en ligne. Ce n'est pas dans notre champ de discussion. Nous en discuterons plus tard. Jetons un coup d'œil aux méthodes et propriétés couramment utilisées des objets d'expression réguliers dans la vérification des données:
Méthodes courantes: Exécuter la méthode
Description: Effectuez une recherche d'expression régulière sur la chaîne spécifiée.
Syntaxe: object.execute (String) La syntaxe de la méthode d'exécution comprend les parties suivantes:
Objet: requis. Toujours le nom d'un objet regexp.
String: requis. La chaîne de texte sur laquelle l'expression régulière doit être exécutée.
Description: Le modèle de conception de la recherche d'expression régulière est défini à travers le modèle de l'objet regexp. La méthode d'exécution renvoie un
Matchs Collection qui contient chaque objet de correspondance correspondant trouvé dans String. Si aucune correspondance n'est trouvée, Exécuter Renvoie une collection de matchs vides.
Méthode d'essai
Description: Effectue une recherche d'expression régulière sur la chaîne spécifiée et renvoie une valeur booléenne indiquant si un modèle de correspondance a été trouvé.
Syntaxe: object.test (string)
La syntaxe de la méthode de test comprend les parties suivantes:
Objet: requis. Toujours le nom d'un objet regexp.
String: requis. La chaîne de texte pour effectuer une recherche d'expression régulière.
Remarque: Le modèle réel de la recherche d'expression régulière est défini via la propriété du modèle de l'objet regexp. La propriété regexp.global n'a aucun effet sur la méthode de test. Si un modèle d'appariement est trouvé, la méthode de test renvoie true; Sinon, il renvoie faux.
Propriétés communes: propriétés mondiales
Description: Définit ou renvoie une valeur booléenne qui indique si le modèle correspond à tout ou unique le premier pendant toute la chaîne de recherche.
Syntaxe: object.global [= true | FAUX ]
Le paramètre de l'objet est toujours un objet regexp. Si la recherche est appliquée à l'ensemble de la chaîne, la propriété globale a une valeur de vrai, sinon sa valeur est fausse. Le paramètre par défaut est vrai.
Attribut IgnoreCase
Description: Définit ou renvoie une valeur booléenne indiquant si la recherche de mode est sensible à la casse.
Syntaxe: object.ignorecase [= true | FAUX ]
Le paramètre de l'objet est toujours un objet regexp. Si la recherche est sensible à la casse, la propriété IgnoreCase est fausse; Sinon, vrai. La valeur par défaut est vraie.
Propriétés du motif
Description: Définit ou renvoie le modèle d'expression régulière en cours de recherche. Il s'agit de l'attribut le plus important, et nous définissons principalement cet attribut pour réaliser la vérification des données.
Syntaxe: object.pattern [= searchstring]
La syntaxe de la propriété Pattern contient les parties suivantes:
Objet: requis. Toujours une variable d'objet regexp.
SearchString: facultatif. L'expression de chaîne régulière en cours de recherche. Il peut contenir divers caractères d'expression réguliers définis dans une table partielle.
Paramètres: des caractères et des séquences spéciaux sont utilisés lors de l'écriture de modèles pour des expressions régulières. Le tableau suivant décrit les caractères et les séquences qui peuvent être utilisés et donnent des exemples.
Description du caractère: Marquez le caractère suivant comme caractère spécial ou valeur littérale. Par exemple, n correspond au caractère n. n correspond à la ligne des ruptures. Séquence / match, (match.
^: Faites correspondre la position de début de l'entrée.
$: Faites correspondre la fin de l'entrée.
*: Faites correspondre le caractère précédent zéro ou plusieurs fois. Par exemple, ZO * peut correspondre à Z et Zoo.
: Faites correspondre le personnage précédent une fois ou plus. Par exemple, ZO peut correspondre au zoo, mais pas z.
?: Faites correspondre le caractère précédent Zero ou une fois. Par exemple, un? Ve? peut correspondre à jamais.
.: Faites correspondre tout personnage autre que les pauses de ligne.
(Modèle) Faites correspondre le motif et rappelez-vous le match. La sous-chaîne correspondante peut être obtenue à partir de la collection de matchs résultante à l'aide de l'article [0] ... [n]. Si vous souhaitez correspondre aux caractères du support (et), vous pouvez utiliser (ou).
x | y: correspondre x ou y. Par exemple, Z | La nourriture peut correspondre à Z ou à la nourriture. (z | f) OOD correspond au zoo ou à la nourriture.
{n}: n est un entier non négatif. Faites correspondre exactement n fois. Par exemple, O {2} ne peut pas correspondre à O dans Bob, mais peut correspondre aux deux premiers O à Fooooood.
{n,}: n est un entier non négatif. Faites correspondre au moins n fois. Par exemple, O {2,} ne correspond pas à O dans Bob, mais tout O dans Fooooood. O {1,} équivaut à o. O {0,} équivaut à o *.
{n, m}: m et n sont des entiers non négatifs. Faites correspondre au moins n fois, jusqu'à m fois. Par exemple, O {1,3} correspond aux trois premiers OS de Fooooood. O {0,1} est équivalent à O?.
[xyz]: un jeu de caractères. Correspond à l'un des personnages entre parenthèses. Par exemple, [ABC] correspond à A en simple.
[^ xyz]: un jeu de caractères négatif. Faites correspondre les personnages qui ne sont pas dans cette support. Par exemple, [^ ABC] peut correspondre à P en simple.
[AZ]: représente un caractère dans une certaine plage. Correspond à n'importe quel caractère dans l'intervalle spécifié. Par exemple, [AZ] correspond à tout caractère alphabétique minuscule entre A et Z.
[^ mz]: intervalle de caractère négatif. Correspond aux caractères qui ne sont pas dans l'intervalle spécifié. Par exemple, [Mz] correspond à tout caractère qui n'est pas entre m et z.
B: Faites correspondre la limite du mot, c'est-à-dire la position entre le mot et l'espace. Par exemple, ERB correspond à ER dans jamais, mais ne correspond pas à ER en verbe.
B: correspondant aux limites non mot. Ea * RB correspond à l'oreille dans jamais tôt.
D: correspond à un caractère numérique. Équivalent à [0-9].
D: correspond à des caractères non numériques. Équivalent à [^ 0-9].
F: correspond aux pauses de la page.
N: correspond à la ligne de rupture du caractère.
R: correspond au caractère de retour de la voiture.
S: correspond à tout caractère blanc, y compris les espaces, les onglets, les pauses de page, etc. Équivalent à [fnrtv].
S: correspond à tout caractère non foncé. Équivalent à [^ fnrtv].
T: correspond au caractère de l'onglet.
V: correspond à des caractères d'onglet verticaux.
W: correspond à n'importe quel caractère de mot, y compris le soulignement. Équivalent à [a-za-z0-9_].
W: correspond à tout caractère non mot. Équivalent à [^ a-za-z0-9_].
NUM: correspond à Num, où Num est un entier positif. Quote pour se souvenir des matchs. Par exemple, (.) 1 correspond à deux caractères identiques consécutifs.
N: correspondre à N, où n est une valeur de transfert de code octal. La valeur de transfert de code octal doit être de 1, 2 ou 3 numéros de long.
Par exemple, 11 et 11 correspondent à un onglet. 011 est équivalent à 01 et 1. La valeur de transfert de code octal ne doit pas dépasser 256. Sinon, seuls les deux premiers caractères sont considérés comme une partie de l'expression. Permet l'utilisation du code ASCII dans les expressions régulières.
XN: Match n, où n est une valeur de transfert de code hexadécimal. La valeur de transfert de code hexadécimal doit comporter exactement deux nombres. Par exemple, X41 correspond à A. x041 est équivalent à x04 et 1. Permet d'utiliser le code ASCII dans des expressions régulières.
D'accord, ce sont les méthodes et attributs couramment utilisés. La syntaxe ci-dessus est déjà très détaillée, il n'est donc pas nécessaire d'en parler. Ensuite, examinons comment utiliser ces méthodes et ces attributs pour vérifier la légitimité des données dans des exemples spécifiques. Donnons un exemple. Par exemple, nous souhaitons vérifier l'entrée des e-mails par l'utilisateur. Alors, quel type de données est considérée comme un e-mail légal? Je peux entrer ceci: [email protected], bien sûr, je vais également entrer ceci: [email protected], mais une telle entrée est illégale: xxx @@ com.cn ou @ xxx.com.cn, etc., nous obtenons donc une adresse e-mail légale qui devrait au moins remplir les conditions suivantes:
1. Doit contenir un et un seul symbole @
2. Doit contenir au moins un au plus trois symboles.
3. Le premier personnage ne doit pas être @ ou.
4. @ .or. @ N'est pas autorisé
5. La fin ne doit pas être un personnage @ ou.
Ainsi, sur la base des principes ci-dessus et de la syntaxe dans le tableau ci-dessus, nous pouvons facilement obtenir le modèle requis comme suit: (W) [@] {1} (W) [.] {1,3} (W)
Ensuite, analysons attentivement ce modèle. Premièrement, W signifie que le caractère de début de l'e-mail ne peut être qu'un caractère de mot contenant un soulignement, de sorte que la troisième condition est remplie; [@] {1} signifie que le personnage doit être égalé dans l'e-mail et ne peut être égalé qu'une seule fois, et que la condition est remplie; Le même [.] {1,3} signifie qu'au moins 1 correspond au plus 3 caractères dans l'e-mail. , satisfaisant la deuxième condition; Le dernier (w) du modèle indique que le caractère final ne peut être qu'un caractère de mot contenant un soulignement, satisfaisant la condition cinq; (w) au milieu du modèle rencontre la condition quatre.
Ensuite, nous appelons simplement la fonction CheckExp ((W) [@] {1} (W) [.] {1} (W), la chaîne à vérifier). Si le vrai est retourné, cela signifie que les données sont légales, sinon elles seront incorrectes. Que diriez-vous, c'est simple. Nous pouvons également écrire un modèle pour vérifier le numéro d'identification: ([0-9]) {15}; un modèle pour vérifier l'URL: ^ http: // {1} ((w) [.]) {1,3}, etc.; Nous pouvons voir que ces modèles nous fournissent de très bons modules réutilisables. En utilisant divers modèles fournis par nous-mêmes ou pour les autres, nous pouvons facilement et rapidement vérifier la légalité des données. Je crois que vous rédigerez certainement un modèle très général.
De cette façon, nous pouvons vérifier la légalité des différentes données en personnalisant différents modèles. Par conséquent, l'attribut le plus important dans l'objet d'expression régulière est l'attribut de modèle. Ce n'est qu'en maîtrisant vraiment cet attribut que vous pouvez utiliser librement l'objet d'expression régulière pour servir notre vérification des données.
Utilisez les mêmes règles
| Ce qui suit est le contenu cité: String str = <img src = / upimg / allimg / 081024 / 0851350.jpg> <img src = / upimg / allimg / 081024 / 0851351.jpg> <img src = / upimg / allimg / 081024 / 0851352.jpg> Regex reg = new regex (<imgs src = (['|]?) (S .w) (1)); MatchCollection MC = reg.matches (entrée); foreach (Match M dans MC) { TB_RESULT.APPEndText (String.Format ({0} est matchrn, m.groups [0])); pour (int i = 0; i <m.groups.Count; i) { // L'adresse de l'image doit être M.Groups [2]. Value Réponse.write (string.format (groupe [{0}] = {1} rn, i, m.groups [i] .value)); } } |
// Combien de matchs y a-t-il
Response.Write (MC.Count.ToString ());
Partager: comment utiliser le programme ASP pour lire le classement Alexa World du site Web Chaque fois que le classement Alexa est mis à jour, je dois régler le classement de tous les sites Web similaires connexes et voir les mises à jour de classement de ces sites Web rivaux. J'ai fait plus et je me sens agacé. Bien que je n'ai que plus de 30 sites Web, je me sens un peu fatigué après les avoir regardés un par un. Par conséquent, je veux