Recomendado: Exportar arquivos do Excel em uma instância analisando o programa ASP Uma maneira de usar o Excel no ASP é vincular o arquivo do Excel como um banco de dados, e a operação é semelhante à operação de banco de dados de acesso. Mas esse método nem sempre é útil, deve ser que o Excel não seja um banco de dados relacional. Para um formato fixo,
O que é regexp no ASP
'Nome de verificação do personagem
| A seguir, o conteúdo citado: Função pública CheckName (STR) CheckName = true Dim Rep, Passe Definir rep = novo regexp 'criar expressão regular. Rep.Global = True 'Defina a disponibilidade global. REP.IGNORECASE = TRUE 'Defina se deve distinguir o caráter sensível ao caso 'Modo de configuração. Rep.pattern = [U0009U0020U0022-U0028U002C-U002EU003A-U003FU005BU005CU0060U007CU007EU00FFUE5E5] SET PASS = Rep.Execute (STR) 'Execute uma pesquisa de expressão regular na sequência especificada. Se apronte 'Response.write (nome de seleção) 'Response.end () Definir representante = nada Função final |
Quando fabricamos sites, especialmente vários sites de comércio eletrônico, pediremos aos usuários que preencham alguns formulários para obter várias informações sobre usuários registrados, porque os usuários podem inserir várias informações e alguns dados que não atendem aos requisitos causam problemas desnecessários ao nosso processador ASP de back-end e até causam alguns problemas de segurança ao site. Portanto, antes de salvar essas informações no banco de dados do site, devemos verificar a legalidade da entrada de dados por esses usuários para que os programas subsequentes possam ser executados com segurança e suavemente. Por isso, geralmente escrevemos um programa de verificação do ASP no back -end para analisar se os dados inseridos pelo usuário são legais.
Algumas pessoas podem perguntar, não podem usar o JavaScript em execução no cliente para verificar os dados do usuário melhor e mais rápido? De fato, tudo bem na maioria dos casos, por que na maioria dos casos? Como o JavaScript que você escreve pode não ser completamente normal para executar no IE e no Netscape ao mesmo tempo, porque o JScript da Microsoft não é completamente o mesmo que o JavaScript, e alguns navegadores não são necessariamente compatíveis com a Microsoft e o Netscape, é muito provável que o JavaScript no cliente não seja concordante que verifique os vários dados. O programa ASP é executado no lado do servidor, mas está relacionado ao ambiente do seu servidor. Independentemente do navegador o cliente, não há diferença para o seu programa ASP; portanto, optar por usar o programa ASP de back -end para verificar a legalidade dos dados é uma boa escolha.
Ao usar o ASP para verificar a legitimidade dos dados do back -end, algumas pessoas escreveram muitas funções para implementá -lo para atender à verificação de dados em diferentes ambientes. Por exemplo, se quisermos verificar se o endereço da URL inserido pelo usuário é legal, podemos escrever um código para analisar as informações inseridas pelo personagem do usuário um por um. Se a quantidade de informações a serem analisadas for pequena, é mais fácil lidar. Se as condições de análise mudarem, será infeliz. Não apenas temos que escrever um código muito longo e pesado, mas a eficiência da operação é extremamente baixa. Existe alguma boa solução? Sim, esse é o objeto de expressão regular fornecido pelo VBScriptp5.0. Enquanto o servidor estiver instalado no IE5.x, ele trará VBScript5.0. De fato, expressões regulares eram originalmente patenteadas no UNIX, especialmente no idioma Perl. É precisamente por causa das poderosas funções de expressões regulares que a Microsoft transporta lentamente os objetos de expressão regular para o sistema de janelas e os usa.
Para objetos de expressão regular, podemos facilmente verificar a legalidade de vários dados.
Primeiro, vamos entender o que exatamente é um objeto de expressão regular do VBScript. Vamos primeiro olhar para um programa:
| A seguir, o conteúdo citado: Função checkexp (patn, strng) Dim regex, corresponda 'Criar variáveis. Definir regex = novo regexp 'Crie expressão regular. regex.pattern = patn 'Set Mode. regex.IGNORECASE = true 'Defina se o caso sensível ao personagem. regex.global = true 'Defina a disponibilidade global. Matches = regex.test (strng) 'execute uma pesquisa. Checkexp = corresponde Função final |
Neste programa, vemos que o novo regexp pode ser usado para obter um objeto de expressão regular e, em seguida, o objeto recebe um modelo de correspondência regular, ou seja, dizendo ao objeto de expressão regular que tipo de modelo você deseja corresponder e, em seguida, use o teste do método para detectar se os dados a serem processados correspondem ao modelo. Se não corresponder, significa que os dados a serem processados não são dados legais, o que realiza a verificação da legalidade dos dados. Podemos ver que, usando um modelo de correspondência adequadamente projetado, podemos verificar facilmente um lote de informações de dados em um formato.
No entanto, o objeto de expressão regular no VBScript 5.0 possui muitos outros métodos e propriedades, como o método substituído (). Usando -o, podemos implementar rapidamente o Fórum de Estilo UBB da moda e o BBS online. Isso não está dentro do nosso escopo de discussão. Discutiremos isso mais tarde. Vamos dar uma olhada nos métodos e propriedades comumente usadas de objetos de expressão regular na verificação de dados:
Métodos comuns: Executar método
Descrição: Execute uma pesquisa de expressão regular na sequência especificada.
Sintaxe: object.execute (string) A sintaxe do método Execute inclui as seguintes peças:
Objeto: Necessário. Sempre o nome de um objeto regexp.
String: Necessário. A sequência de texto na qual a expressão regular deve ser executada.
Descrição: O padrão de design da pesquisa de expressão regular é definido através do padrão do objeto regexp. O método executivo retorna um
Coleta corresponde que contém cada objeto de correspondência correspondente encontrado na string. Se nenhuma correspondência for encontrada, Execute retorna uma coleção de correspondências vazias.
Método de teste
Descrição: Executa uma pesquisa de expressão regular na string especificada e retorna um valor booleano indicando se um padrão de correspondência foi encontrado.
Sintaxe: object.test (string)
A sintaxe do método de teste inclui as seguintes peças:
Objeto: Necessário. Sempre o nome de um objeto regexp.
String: Necessário. A sequência de texto para executar uma pesquisa de expressão regular.
Nota: O padrão real da pesquisa de expressão regular é definido através da propriedade Padrão do objeto Regexp. A propriedade regexp.global não tem efeito no método de teste. Se um padrão de correspondência for encontrado, o método de teste retornará true; Caso contrário, ele retorna falsa.
Propriedades comuns: propriedades globais
Descrição: Define ou retorna um valor booleano que indica se o padrão corresponde a tudo ou apenas o primeiro durante toda a sequência de pesquisa.
Sintaxe: object.global [= true | Falso]
O parâmetro de objeto é sempre um objeto regexp. Se a pesquisa for aplicada a toda a string, a propriedade global terá um valor de verdadeiro, caso contrário, seu valor será falso. A configuração padrão é verdadeira.
Atributo ignorecase
Descrição: Define ou retorna um valor booleano indicando se a pesquisa de modo é sensível ao minúsculo.
Sintaxe: object.ignorecase [= true | Falso]
O parâmetro de objeto é sempre um objeto regexp. Se a pesquisa for sensível ao caso, a propriedade Ignorecase será falsa; Caso contrário, é verdade. O valor padrão é verdadeiro.
Propriedades do padrão
Descrição: define ou retorna o padrão de expressão regular que está sendo pesquisado. Este é o atributo mais importante e definimos principalmente esse atributo para obter verificação de dados.
Sintaxe: object.pattern [= SearchString]
A sintaxe da propriedade Pattern contém as seguintes partes:
Objeto: Necessário. Sempre uma variável de objeto regexp.
Pesquisa: opcional. A expressão regular da string sendo pesquisada. Pode conter vários caracteres de expressão regulares definidos em uma tabela parcial.
Configurações: caracteres e seqüências especiais são usados ao escrever padrões para expressões regulares. A tabela a seguir descreve os caracteres e seqüências que podem ser usados e dá exemplos.
Descrição do personagem: Marque o próximo caractere como um personagem especial ou valor literal. Por exemplo, n corresponde ao caractere n. n corresponde às quebras de linha. Sequência/correspondência, (corresponda.
^: Combine a posição inicial da entrada.
$: Corresponde ao final da entrada.
*: Combine o personagem anterior zero ou várias vezes. Por exemplo, Zo* pode corresponder Z e Zoo.
: Combine o personagem anterior uma ou mais vezes. Por exemplo, o Zo pode combinar com o zoológico, mas não z.
?: Combine o personagem anterior zero ou uma vez. Por exemplo, um? pode combinar VE em nunca.
.: Combine qualquer personagem que não seja quebras de linha.
(padrão) corresponde ao padrão e lembre -se da partida. A substring correspondente pode ser obtida na coleção de correspondências resultantes usando o item [0] ... [n]. Se você deseja corresponder aos caracteres do suporte (e), você pode usar (ou).
x | y: corresponde a x ou y. Por exemplo, Z | comida pode combinar com z ou comida. (Z | f) Ood corresponde ao zoológico ou comida.
{n}: n é um número inteiro não negativo. Combine exatamente n vezes. Por exemplo, o {2} não pode corresponder a em Bob, mas pode corresponder aos dois primeiros o em Foooood.
{n,}: n é um número inteiro não negativo. Combine pelo menos n vezes. Por exemplo, o {2,} não corresponde a O em Bob, mas tudo o que está em foooood. o {1,} é equivalente a o. o {0,} é equivalente a O*.
{n, m}: m e n são números inteiros não negativos. Combine pelo menos n vezes, até m vezes. Por exemplo, o {1,3} corresponde aos três primeiros sistemas operacionais em Fooooood. o {0,1} é equivalente a O?.
[xyz]: um conjunto de personagens. Combina um dos personagens entre parênteses. Por exemplo, [ABC] corresponde a A na planície.
[^xyz]: um conjunto de caracteres negativos. Combine os personagens que não estão neste suporte. Por exemplo, [^ABC] pode corresponder a P na planície.
[AZ]: representa um personagem dentro de um determinado intervalo. Corresponde a qualquer caractere dentro do intervalo especificado. Por exemplo, [AZ] corresponde a qualquer caráter alfabético minúsculo entre A e Z.
[^mz]: intervalo negativo do caractere. Corresponde a caracteres que não estão dentro do intervalo especificado. Por exemplo, [MZ] corresponde a qualquer caractere que não esteja entre M e Z.
B: Combine o limite da palavra, ou seja, a posição entre a palavra e o espaço. Por exemplo, o ERB corresponde ao ER em nunca, mas não corresponde ao ER no verbo.
B: Combinando com limites não palavras. EA*RB combina a orelha nunca mais cedo.
D: corresponde a um caractere numérico. Equivalente a [0-9].
D: corresponde a caracteres não numéricos. Equivalente a [^0-9].
F: Corresponde às quebras da página.
N: corresponde ao caractere de quebra de linha.
R: corresponde ao caractere de retorno do carro.
S: corresponde a qualquer caractere branco, incluindo espaços, guias, quebras de página, etc. equivalente a [FNRTV].
S: corresponde a qualquer caractere não em branco. Equivalente a [^ fnrtv].
T: corresponde ao caractere da guia.
V: corresponde a caracteres verticais da guia.
W: corresponde a qualquer personagem de palavra, incluindo sublinhado. Equivalente a [A-ZA-Z0-9_].
W: corresponde a qualquer caractere não-palavras. Equivalente a [^a-zA-z0-9_].
NUM: corresponde a num, onde num é um número inteiro positivo. Citação de volta para lembrar as partidas. Por exemplo, (.) 1 corresponde a dois caracteres idênticos consecutivos.
N: Match n, onde n é um valor de transferência de código octal. O valor de transferência de código octal deve ter 1, 2 ou 3 números de comprimento.
Por exemplo, 11 e 11 correspondem a uma guia. 011 é equivalente a 01 e 1. O valor da transferência de código octal não deve exceder 256. Caso contrário, apenas os dois primeiros caracteres são considerados parte da expressão. Permite o uso do código ASCII em expressões regulares.
XN: Match n, onde n é um valor de transferência de código hexadecimal. O valor de transferência de código hexadecimal deve ter exatamente dois números de comprimento. Por exemplo, o X41 corresponde A. x041 é equivalente a x04 e 1. Permite o uso do código ASCII em expressões regulares.
Ok, esses são os métodos e atributos comumente usados. A sintaxe acima já está muito detalhada, então não há necessidade de falar sobre isso. Em seguida, vamos dar uma olhada em como usar esses métodos e atributos para verificar a legitimidade dos dados em exemplos específicos. Vamos dar um exemplo. Por exemplo, queremos verificar a entrada de email do usuário. Então, que tipo de dados é considerado um email legal? Posso entrar: [email protected], é claro que também entrarei: [email protected], mas essa entrada é ilegal: xxx @@ com.cn [email protected] etc., por isso obtemos um endereço de email legal que deve atender pelo menos as seguintes condições:
1. Deve conter um e apenas um símbolo @
2. Deve conter pelo menos um no máximo três símbolos.
3. O primeiro caractere não deve ser @ ou.
4. @. Ou. @ Não é permitido
5. O final não deve ser um personagem @ ou.
Assim, com base nos princípios acima e na sintaxe na tabela acima, podemos facilmente obter o modelo necessário da seguinte forma: (w) [@] {1} (w) [.] {1,3} (w)
Em seguida, vamos analisar esse modelo com cuidado. Primeiro, W significa que o caráter inicial do email pode ser apenas um caractere de palavra contendo um sublinhado, para que a terceira condição seja atendida; [@] {1} significa que o personagem deve ser correspondido no email e só pode ser correspondido uma vez e a condição é atendida; O mesmo [.] {1,3} significa que pelo menos 1 corresponde ao máximo 3 caracteres no email. , satisfazendo a segunda condição; O último (W) do modelo indica que o caractere final pode ser apenas um caractere de palavra contendo um sublinhado, satisfazendo a condição cinco; (W) No meio do modelo, encontra a condição quatro.
Em seguida, chamamos a função checkexp ((w) [@] {1} (w) [.] {1} (w), a sequência a ser marcada). Se True for retornado, isso significa que os dados são legais, caso contrário, estarão incorretos. Que tal isso, é simples. Também podemos escrever um modelo para verificar o número de identificação: ([0-9]) {15}; Um modelo para verificar o URL: ^http: // {1} ((w) [.]) {1,3}, etc.; Podemos ver que esses modelos nos fornecem módulos reutilizáveis muito bons. Usando vários modelos fornecidos por nós mesmos ou por outros, podemos verificar facilmente e rapidamente a legalidade dos dados. Eu acredito que você definitivamente escreverá um modelo muito geral.
Dessa forma, podemos verificar a legalidade de diferentes dados, personalizando diferentes modelos. Portanto, o atributo mais importante no objeto de expressão regular é o atributo padrão. Somente dominando esse atributo verdadeiramente você pode usar livremente o objeto de expressão regular para servir nossa verificação de dados.
Use as mesmas regras
| A seguir, o conteúdo citado: String str = <img src =/upimg/allImg/081024/0851350.jpg> <img src =/upimg/allimg/081024/0851351.jpg> <mg src = upImg/allImg/ Regex reg = novo regex (<imgs src = (['|]?) (S .w) (1)); MatchCollection mc = reg.matches (entrada); foreach (Match M em MC) { Tb_result.appendText (string.format ({0} é matchRn, m.groups [0])); para (int i = 0; i <m.groups.count; i) { // O endereço da imagem deve ser M.Groups [2] .Value Response.Write (String.Format (Grupo [{0}] = {1} rn, i, M.Groups [i] .Value)); } } |
// Quantas partidas existem
Response.Write (Mc.Count.ToString ());
Compartilhar: Como usar o programa ASP para ler o Alexa World Rankings do site Sempre que o Alexa Ranking é atualizado, preciso resolver os rankings de todos os sites semelhantes relacionados e ver as atualizações de classificação desses sites rivais. Eu fiz mais e me sinto irritado. Embora eu tenha apenas mais de 30 sites, me sinto um pouco cansado depois de vê -los um por um. Portanto, eu quero