Recomendado: Exportar archivos de Excel en un programa ASP de analización de instancia Una forma de usar Excel en ASP es vincular el archivo de Excel como una base de datos, y la operación es similar a la operación de la base de datos de acceso. Pero este método no siempre es útil, debe ser que Excel no sea una base de datos relacional. Para un formato fijo,
¿Qué es Regexp en ASP?
'Check de caracteres de nombre
| El siguiente es el contenido citado: Nombre de checkname de función pública (STR) CheckName = verdadero Dim representante, pase Establecer REP = NUEVO REGEXP 'Crear expresión regular. Rep.Global = True 'Establecer disponibilidad global. Rep.ignorecase = true 'Establecer si se debe distinguir el carácter sensible a los casos 'Modo establecer. Rep.Pattern = [U0009U0020U0022-U0028U002C-U002EU003A-U003FU005BU005CU0060U007CU007EU00FFUE5E5] Set pass = rep.execute (str) 'Realice una búsqueda de expresión regular en la cadena especificada. If pass.count <> 0 entonces checkName = false 'Response.Write (nombre de check) 'Respuesta.end () Establecer rep = nada Función final |
Cuando hacemos sitios web, especialmente varios sitios web de comercio electrónico, primero pediremos a los usuarios que complete algunos formularios para obtener varias información sobre los usuarios registrados, porque los usuarios pueden ingresar diversas información, y algunos datos que no cumplen con los requisitos causarán problemas innecesarios en nuestro procesador ASP de back-end e incluso causarán algunos problemas de seguridad al sitio web. Por lo tanto, antes de guardar esta información en la base de datos del sitio web, debemos verificar la legalidad de la entrada de datos de estos usuarios para que los programas posteriores puedan ejecutarse de manera segura y sin problemas. Por lo tanto, generalmente escribimos un programa de verificación ASP en el backend para analizar si los datos ingresados por el usuario son legales.
Algunas personas pueden preguntar, ¿no pueden usar JavaScript ejecutándose en el cliente para verificar los datos del usuario mejor y más rápido? De hecho, esto está bien en la mayoría de los casos, ¿por qué en la mayoría de los casos? Debido a que el JavaScript que escribe puede no ser completamente normal para ejecutarse en IE y Netscape al mismo tiempo, porque JScript de Microsoft no es completamente lo mismo que JavaScript, y algunos navegadores no necesariamente compatibles con Microsoft y Netscape, por lo que es muy probable que el Javascript en el cliente no sea verifique con precisión los datos ingresados por el usuario. El programa ASP se ejecuta en el lado del servidor, pero está relacionado con el entorno de su servidor. No importa qué navegador sea el cliente, no hay diferencia para su programa ASP, por lo que elegir usar el programa ASP de backend para verificar la legalidad de los datos es una buena opción.
Al usar ASP para verificar la legitimidad de los datos del backend, algunas personas han escrito muchas funciones para implementarlo para cumplir con la verificación de datos en diferentes entornos. Por ejemplo, si queremos verificar si la dirección de URL ingresada por el usuario es legal, podemos escribir un código para analizar la información ingresada por el carácter del usuario uno por uno. Si la cantidad de información a analizar es pequeña, es más fácil tratarlo. Si las condiciones de análisis cambian, será miserable. No solo tenemos que escribir un código muy largo y engorroso, sino que la eficiencia de la operación es extremadamente baja. ¿Hay alguna buena solución? Sí, ese es el objeto de expresión regular proporcionado por VBScriptp5.0. Mientras su servidor tenga IE5.x instalado, traerá VBScript5.0. De hecho, las expresiones regulares fueron patentadas originalmente bajo UNIX, especialmente en el lenguaje Perl. Se debe precisamente a las poderosas funciones de las expresiones regulares que Microsoft porta lentamente los objetos de expresión regulares al sistema de ventanas y los usan.
Para los objetos de expresión regulares, podemos verificar fácilmente la legalidad de varios datos.
Primero, comprendamos qué es exactamente un objeto de expresión regular de VBScript. Veamos primero un programa:
| El siguiente es el contenido citado: Función checkexp (Patrn, strng) Dim regex, coincida 'crea variables. Set regex = new Regexp 'Crear expresión regular. regex.pattern = Patrn 'Modo de conjunto. regex.ignorecase = true 'Establezca si el caso de los caracteres es sensible. regex.global = true 'Establecer disponibilidad global. Coincidencias = regex.test (strng) 'Realice una búsqueda. Checkexp = coincide Función final |
En este programa, vemos que se puede usar un nuevo REGEXP para obtener un objeto de expresión regular, y luego se le asigna al objeto una plantilla de coincidencia regular, es decir, diciéndole al objeto de expresión regular qué tipo de plantilla desea que coincida, y luego use la prueba de método para detectar si los datos se procesan la plantilla que dimos. Si no coincide, significa que los datos a procesar no son datos legales, lo que realiza la verificación de la legalidad de los datos. Podemos ver que utilizando una plantilla de coincidencia de diseño adecuado, podemos verificar fácilmente un lote de información de datos en un formato.
Sin embargo, el objeto de expresión regular en VBScript 5.0 tiene muchos otros métodos y propiedades, como el método reemplazar (). Usándolo, podemos implementar rápidamente el foro de estilo UBB de moda y BBS en línea. Esto no está dentro de nuestro alcance de discusión. Lo discutiremos más tarde. Echemos un vistazo a los métodos y propiedades comúnmente utilizados de los objetos de expresión regulares en la verificación de datos:
Métodos comunes: Método de ejecución
Descripción: Realice una búsqueda de expresión regular en la cadena especificada.
Sintaxis: objeto.execute (string) La sintaxis del método de ejecución incluye las siguientes partes:
Objeto: requerido. Siempre el nombre de un objeto regexp.
cadena: requerido. La cadena de texto en la que se ejecutará la expresión regular.
Descripción: El patrón de diseño de la búsqueda de expresión regular se establece a través del patrón del objeto regexp. El método de ejecución devuelve un
Colección de coincidencias que contiene cada objeto de coincidencia coincidente que se encuentra en la cadena. Si no se encuentra ninguna coincidencia, Execute devuelve una colección de coincidencias vacías.
Método de prueba
Descripción: Realiza una búsqueda de expresión regular en la cadena especificada y devuelve un valor booleano que indica si se encontró un patrón de coincidencia.
Sintaxis: objeto.test (cadena)
La sintaxis del método de prueba incluye las siguientes partes:
Objeto: requerido. Siempre el nombre de un objeto regexp.
cadena: requerido. La cadena de texto para realizar una búsqueda de expresión regular.
Nota: El patrón real de búsqueda de expresión regular se establece a través de la propiedad del patrón del objeto REGEXP. La propiedad regexp.global no tiene ningún efecto en el método de prueba. Si se encuentra un patrón de coincidencia, el método de prueba devuelve verdadero; De lo contrario, devuelve falso.
Propiedades comunes: propiedades globales
Descripción: Establece o devuelve un valor booleano que indica si el patrón coincide con todo o solo el primero durante toda la cadena de búsqueda.
Sintaxis: objeto.global [= True | FALSO ]
El parámetro del objeto es siempre un objeto regexp. Si la búsqueda se aplica a toda la cadena, la propiedad global tiene un valor de verdadero, de lo contrario su valor es falso. La configuración predeterminada es verdadera.
Atributo Ignorecase
Descripción: Establece o devuelve un valor booleano que indica si la búsqueda en modo es sensible a la caja.
Sintaxis: objeto.ignorecase [= True | FALSO ]
El parámetro del objeto es siempre un objeto regexp. Si la búsqueda es sensible al caso, la propiedad IgnorECase es falsa; De lo contrario, verdadero. El valor predeterminado es verdadero.
Propiedades del patrón
Descripción: Establece o devuelve el patrón de expresión regular que se busca. Este es el atributo más importante, y establecemos principalmente este atributo para lograr la verificación de datos.
Sintaxis: Object.Pattern [= SearchString]
La sintaxis de la propiedad del patrón contiene las siguientes partes:
Objeto: requerido. Siempre una variable de objeto regexp.
SearchString: Opcional. La expresión de cadena regular que se busca. Puede contener varios caracteres de expresión regulares establecidos en una tabla parcial.
Configuración: se utilizan caracteres y secuencias especiales al escribir patrones para expresiones regulares. La siguiente tabla describe los caracteres y secuencias que se pueden usar y da ejemplos.
Descripción del personaje: Marque el siguiente personaje como un personaje especial o valor literal. Por ejemplo, N coincide con el personaje n. n partidos de la línea. secuencia/coincidencia, (coincidencia.
^: Haga coincidir la posición de inicio de la entrada.
$: Haga coincidir el final de la entrada.
*: Haga coincidir con el personaje anterior cero o varias veces. Por ejemplo, Zo* puede coincidir con Z y Zoo.
: Haga coincidir con el personaje anterior una o más veces. Por ejemplo, ZO puede igualar el zoológico, pero no Z.
?: Coincide con el personaje anterior cero o una vez. Por ejemplo, ¿un? Ve? puede igualar a ve en nunca.
.: Haga coincidir cualquier personaje que no sea Line Breaks.
(Patrón) Haga coincidir el patrón y recuerde la coincidencia. La subcadena coincidente se puede obtener de la colección de coincidencias resultantes usando el elemento [0] ... [n]. Si desea que coincida con los caracteres del soporte (y), puede usar (o).
X | Y: Partido X o Y. Por ejemplo, Z | La comida puede coincidir con Z o la comida. (z | f) ood combina el zoológico o la comida.
{n}: n es un entero no negativo. Coincide exactamente n veces. Por ejemplo, O {2} no puede igualar o en Bob, pero puede igualar los dos primeros O en Fooooood.
{n,}: n es un entero no negativo. Coincidir al menos n veces. Por ejemplo, o {2,} no coincide con O en Bob, sino todo en Foooood. o {1,} es equivalente a o. o {0,} es equivalente a o*.
{N, M}: M y N son enteros no negativos. Coincidir al menos n veces, hasta M veces. Por ejemplo, O {1,3} coincide con el primer sistema operativo en Fooooood. o {0,1} es equivalente a o?.
[xyz]: un conjunto de caracteres. Coincide con uno de los personajes de los entre paréntesis. Por ejemplo, [ABC] coincide con A en llanura.
[^xyz]: un conjunto de caracteres negativo. Coincidir con cualquier personaje que no esté en este soporte. Por ejemplo, [^ABC] puede igualar P en simple.
[AZ]: representa un carácter dentro de un cierto rango. Coincide con cualquier carácter dentro del intervalo especificado. Por ejemplo, [AZ] coincide con cualquier carácter alfabético en minúsculas entre A y Z.
[^MZ]: intervalo de caracteres negativo. Coincide con los caracteres que no están dentro del intervalo especificado. Por ejemplo, [MZ] coincide con cualquier personaje que no sea entre M y Z.
B: Haga coincidir el límite de la palabra, es decir, la posición entre la palabra y el espacio. Por ejemplo, ERB coincide con ER en nunca, pero no coincide con ER en verbo.
B: coincidencia con límites que no son palabras. EA*RB coincide con el oído en Never Early.
D: coincide con un carácter numérico. Equivalente a [0-9].
D: coincide con los personajes no numéricos. Equivalente a [^0-9].
F: Pagos de partidos de la página.
N: Coincide con el personaje de la línea de ruptura.
R: coincide con el personaje de retorno del carro.
S: coincide con cualquier carácter blanco, incluidos espacios, pestañas, pausas de página, etc. equivalente a [FNRTV].
S: coincide con cualquier personaje que no sea de Blank. Equivalente a [^ fnrtv].
T: coincide con el personaje de pestaña.
V: coincide con los caracteres de pestaña vertical.
W: coincide con cualquier carácter de palabra, incluido el bajo. Equivalente a [A-ZA-Z0-9_].
W: coincide con cualquier personaje sin palabras. Equivalente a [^a-z-z0-9_].
NUM: coincide con num, donde num es un entero positivo. Cita para recordar partidos. Por ejemplo, (.) 1 coincide con dos caracteres idénticos consecutivos.
N: Match n, donde n es un valor de transferencia de código octal. El valor de transferencia de código Octal debe tener 1, 2 o 3 números de largo.
Por ejemplo, tanto 11 como 11 coinciden con una pestaña. 011 es equivalente a 01 y 1. El valor de transferencia de código Octal no debe exceder los 256. De lo contrario, solo los dos primeros caracteres se consideran parte de la expresión. Permite el uso del código ASCII en expresiones regulares.
XN: Match n, donde n es un valor de transferencia de código hexadecimal. El valor de transferencia de código hexadecimal debe tener exactamente dos números de largo. Por ejemplo, las coincidencias X41 A. X041 es equivalente a X04 y 1. Permite el uso de código ASCII en expresiones regulares.
De acuerdo, estos son los métodos y atributos comúnmente utilizados. La sintaxis anterior ya es muy detallada, por lo que no hay necesidad de hablar de ello. A continuación, echemos un vistazo a cómo usar estos métodos y atributos para verificar la legitimidad de los datos en ejemplos específicos. Demos un ejemplo. Por ejemplo, queremos verificar la entrada de correo electrónico del usuario. Entonces, ¿qué tipo de datos se considera un correo electrónico legal? Puedo ingresar esto: [email protected], por supuesto, también ingresaré esto: [email protected], pero dicha entrada es ilegal: xxx @@ com.cn [email protected], etc., por lo que obtenemos una dirección de correo electrónico legal que al menos debería cumplir con las siguientes condiciones:
1. Debe contener un solo símbolo @
2. Debe contener al menos uno como máximo tres símbolos.
3. El primer personaje no debe ser @ o.
4. @ .O. @ No está permitido
5. El final no debe ser un personaje @ o.
Entonces, según los principios anteriores y la sintaxis en la tabla anterior, podemos obtener fácilmente la plantilla requerida de la siguiente manera: (w) [@] {1} (w) [.] {1,3} (w)
A continuación, analicemos esta plantilla con cuidado. Primero, W significa que el carácter de inicio del correo electrónico solo puede ser un carácter de palabra que contiene un subrayador, de modo que se cumpla la tercera condición; [@] {1} significa que el personaje debe coincidir en el correo electrónico y solo se puede igualar una vez, y la condición uno se cumple; Lo mismo [.] {1,3} significa que al menos 1 coincide en la mayoría de los 3 caracteres en el correo electrónico. , satisfaciendo la segunda condición; El último (w) de la plantilla indica que el carácter final solo puede ser un carácter de palabra que contiene un subrayado, satisfaciendo la condición cinco; (W) En el medio de la plantilla cumple con la condición cuatro.
Luego, solo llamamos a la función checkexp ((w) [@] {1} (w) [.] {1} (w), la cadena a verificar). Si se devuelve verdadero, significa que los datos son legales, de lo contrario serán incorrectos. ¿Qué tal, es simple? También podemos escribir una plantilla para verificar el número de identificación: ([0-9]) {15}; Una plantilla para verificar la URL: ^http: // {1} ((w) [.]) {1,3}, etc.; Podemos ver que estas plantillas nos proporcionan muy buenos módulos reutilizables. Usando varias plantillas proporcionadas por nosotros mismos u otros, podemos verificar fácil y rápidamente la legalidad de los datos. Creo que definitivamente escribirás una plantilla muy general.
De esta manera, podemos verificar la legalidad de diferentes datos personalizando diferentes plantillas. Por lo tanto, el atributo más importante en el objeto de expresión regular es el atributo de patrón. Solo dominando verdaderamente este atributo puede usar libremente el objeto de expresión regular para servir nuestra verificación de datos.
Usar las mismas reglas
| El siguiente es el contenido citado: cadena str = <img src =/upimg/allimg/081024/0851350.jpg> <img src =/upimg/alimg/081024/0851351.jpg> <img src =/upimg/allimg/081024/0851352.jpg> Regex reg = new Regex (<imgs src = (['|]?) (S .w) (1)); MatchCollection MC = Reg.Matches (entrada); foreach (Match m en MC) { Tb_result.appendText (String.Format ({0} es Matchrn, M.Groups [0])); para (int i = 0; i <m.groups.count; i) { // La dirección de la imagen debe ser M.Groups [2]. Valor Response.Write (String.Format (grupo [{0}] = {1} rn, i, m.groups [i] .value)); } } |
// ¿Cuántos partidos hay
Response.write (mc.count.ToString ());
Compartir: Cómo usar el programa ASP para leer el ranking mundial de Alexa del sitio web Cada vez que se actualiza Alexa Ranking, necesito resolver las clasificaciones de todos los sitios web similares relacionados y ver las actualizaciones de clasificación de estos sitios web rivales. He hecho más y me siento molesto. Aunque solo tengo más de 30 sitios web, me siento un poco cansado después de verlos uno por uno. Por lo tanto, quiero