SlideShare uma empresa Scribd logo
Formulários
Cristiano Pires Martins
Fonte: JavaScript - Guia do Programador - Maujor
1
Introdução
Peças de composição de uma página presentes
em praticamente todos os web sites;
Interface de coleta de dados, mesmo apenas
para busca;
São interativos;
O desenvolvedor não deve supor que o
usuário digitará apenas o que se espera.
2
Fundamentos
Primeiro fundamento do uso de JavaScript
com formulários: validar campos;
Mas ações não devem apenas no cliente, tem
que ser desenvolvida no lado do servidor;
O elemento <form></form> é o container de
todos os controles (campos) de um formulário.
3
Elemento form<form  action="http://www.cpmart.eng.br" id="fdemo" method="get"></form>
O elemento form admite os atributos:
action: aponta para o endereço em que se encontra o programa destinado a
processar os dados enviados pelo formulário;
method: define o método de envio de dados para o servidor (get/post);
enctype: tipo de codificação dos dados enviados para o servidor;
accept-charset: lista de codificação de caracteres. Por default usa a mesma
codificação do documento;
accept: especifica uma lista de tipos de conteúdo para os dados a serem aceitos e
processados no servidor;
name: nome para o formulário. Esse atributo está em desuso e, em seu lugar,
deve ser usado o atributo id.
4
Outros atributos do form
id
class
lang
style
title
target
onsubmit
onreset
onclick
ondblclick
onmousedown
onmouseup
onmouseover
onmousemov
e
onmouseout
onkeypress
onkeydown
onkeyup
5
Controles de Formulário
input
type
text
password
checkbox
radio
submit
reset
file
hidden
image
button
accesskey
tabindex
name
src
alt
size
Maxlength
value (obrig. checkbox e radio)
checked (obrig. checkbox e radio)
readonly
disabled
usemap
align
6
Objeto formulário
7
HTML
<form method=” ” action=” ” id=”fdemo”>
...
</form>
JavaScript
<script type=”text/javascript”>
window.onload = function( ){
var formdemo =
document.getElementById(“fdemo”);
}
</script>
Objeto formulário
8
HTML
<form method=” ” action=” ” id=”fdemo”>
...
</form>
JavaScript
<script type=”text/javascript”>
window.onload = function( ){
var formdemo = document.forms[0];
}</script>
ou
<script type=”text/javascript”>
window.onload = function( ){
var formdemo = document.forms[“fdemo”];
}</script>
Propriedades do objeto form
action
9
HTML
<form method=”post” action=”http://www.maujor.com”
id=”fdemo”>
...
</form>
JavaScript
<script type=”text/javascript”>
window.onload = function( ){
var fdemo = document.getElementById(“fdemo”);
alert(fdemo.action); //alerta http://www.maujor.com
}
</script>
Propriedades do objeto form
method
10
HTML
<form method=”post” action=” ” id=”fdemo”>
...
</form>
JavaScript
<script type=”text/javascript”>
window.onload = function( ){
var fdemo = document.getElementById(“fdemo”);
alert(fdemo.method); //alerta post
}
</script>
Propriedades do objeto form
name
11
HTML
<form method=”post” action=” ” id=”fdemo” name=”fnome”>
...
</form>
JavaScript
<script type=”text/javascript”>
window.onload = function( ){
var fdemo = document.getElementById(“fdemo”);
alert(fdemo.name); //alerta fnome
}
</script>
Propriedades do objeto form
length
12
HTML
<form method=”post” action=” ” id=”fdemo”>
<label for=”nome”>Nome:</label>
<input type=”text” id=”nome”/>
<label for=”email”>Email:</label>
<input type=”text” id=”email”/>
<input type=”submit” value=”OK”/>
</form>
JavaScript
<script type=”text/javascript”>
window.onload = function( ){
var fdemo = document.getElementById(“fdemo”);
alert(fdemo.length); //alerta 3
}
</script>
Retorna a quantidade
de controles existentes
no formulário
Propriedades do objeto form
elements
13
HTML
<form method=”post” action=” ” id=”fdemo”>
<label for=”nome”>Nome:</label>
<input type=”text” id=”nome”/>
<label for=”email”>Email:</label>
<input type=”text” id=”email”/>
<input type=”submit” value=”OK”/>
</form>
JavaScript
<script type=”text/javascript”>
window.onload = function( ){
var fdemo = document.getElementById(“fdemo”);
alert(fdemo.elements[1].tagName); //alerta INPUT
alert(fdemo.elements.item(2).value); //alerta OK
alert(fdemo.elements.item(0).value);
alert(fdemo.elements.item(1).value);
}
</script>
Retorna uma coleção de
todos os controles
existentes no formulário
FOrm - html5
Apenas letras
<input type="text" required="required" name="text"
pattern="[a-zs]+$" />
Apenas números
<input type="text" required="required" name="numbers"
pattern="[0-9]+$" />
Data
<input type="date" required="required" maxlength="10"
name="date" pattern="[0-9]{2}/[0-9]{2}/[0-9]{4}$"
min="2012-01-01" max="2014-02-18" />
14
FORM - HTML5
Hora
<input type="time" required="required"
maxlength="8" name="hour" pattern="[0-9]{2}:[0-9]
{2} [0-9]{2}$" />
Campos genéricos de texto
<input type="text" required="required"
name="name" />
15
Validação: Senha
16
<html>
<head>
<title>Validade Senha</title>
<script>
function validarSenha(){
senha1 = document.f1.senha1.value
senha2 = document.f1.senha2.value
if (senha1 == senha2)
alert("SENHAS IGUAIS")
else
alert("SENHAS DIFERENTES")
}
</script>
</head>
<body>
VALIDAR SENHA
<br>
<form action="" name="f1">
Senha: <input type="password" name="senha1" size="20">
<br>
Confirmar Senha: <input type="password" name="senha2" size="20">
<br>
<input type="button" value="Validar" onClick="validarSenha()">
</form>
</body>
</html>
Validação:
Verifica número Inteiro
17
<script type="text/javascript">
var expressao = /^d+$/;
function verificarInteiro( val ){
if( expressao.test( val ) ){
alert( "OK" );
}
else{
if( val != null && val != "" ){
alert( "Não é um inteiro válido");
}
}
}
</script>
<form id="frmInteiro" action="#"
onsubmit="verificarInteiro(this.txtInteiro.value); return false;">
<label for="txtInteiro">Valor:</label>
<input type="text" size="10" id="txtInteiro" name="txtInteiro">
<input type="submit" value="Validar">
</form>
• Em JavaScript, uma expressão regular é delimitada
por uma barra / inicial e outra final.
• Cada expressão de validação sempre começa com ^
(início de linha) e termina com $ (fim de linha), para
garantir que abrange o conteúdo inteiro do texto
(parâmetro) a ser validado.
• Existe uma seqüência de expressão regular que
significa um dígito (0 a 9): d.
•Adicionando um + após essa seqüência, significa
"uma ou mais ocorrências da seqüência precedente".
Isto é, um ou mais dígitos. Note que isso implica o
preenchimento obrigatório.
•Assim, temos a expressão regular completa para
validar um número apenas composto por dígitos.
localizar um determinado termo
em uma frase
<script type="text/javascript">
var texto = "Expressões regulares em Javascript
para iniciantes!";
var RegExp = /Javascript/;
if (texto.search(RegExp) != -1) {
console.log("Encontrado na posição: "+
texto.search(RegExp));
} else {
console.log("Não encontrado!");
}
</script>
18
//Verificar se no texto recebido existe a expressão: java script:
Localizar um email em uma string
<script type="text/javascript">
var texto = "O meu e-mail é:
cpmart@gmail.com";
var RegExp = /b[w]+@[w]+.[w]+/;
if (texto.search(RegExp) != -1) {
console.log("E-mail localizado na
posição: " + texto.search(RegExp));
} else {
console.log("E-mail não encontrado!");
}
</script>
19
Validando e-mails
//Procura por uma palavra que contenha uma ou
mais sequências de algarismos (letras ou números)
(b[w]+);
//Seguidos de um arroba (@);
//Seguido de outra sequência de um ou mais
algarismos ([w]+);
//Seguidos de um ponto (.);
//Seguido de outra sequência de um ou mais
algarismos ([w]+).
20
Validando E-mails
<script type="text/javascript">
var texto = "cpmart@gmail.com";
var RegExp = /^[w]+@[w]+.[w|.]+$/;
if (RegExp.test(texto) == true) {
console.log(“Formato válido!");
} else {
console.log(“Formato inválido!");
}
</script>
21
Validando e-mails
/* Verificando se o texto recebido é iniciado por um ou mais
algarismos (^[w]+);
seguidos de arroba (@);
Seguido de um ou mais algarismos ([w]+);
Seguido(s) de um ponto (.);
Seguido (e finalizado) por um ou mais algarismos ou pontos ([w|
.]+$);
*/
22
Validando CPF
<script type="text/javascript">
var texto = "000.000.000-00";
var RegExp = /^[d]{3}.[d]{3}.[d]{3}-[d]
{2}$/;
if (RegExp.test(texto) == true) {
document.write("Formato válido!");
} else {
document.write("Formato inválido!");
}
</script>
23
Validando CPF
/* Verificando se o texto recebido é iniciado por três números
(^[d]{3});
seguidos de ponto (.);
seguido de três números ([d]{3});
seguidos de ponto (.);
seguido de três números ([d]{3});
seguidos de hífen (-);
seguido (e finalizado) por dois números ([d]{2}$);
*/
24
Recuperar um array
<script type="text/javascript">
var texto = "Eu nasci em 01/23/4567”;
var RegExp = /([d]{2})/([d]{2})/([d]{4})/;
if (texto.match(RegExp) != null) {
console.log("Propriedades do método match: <br>"+
"Frase: "+texto.match(RegExp).input+"<br>"+
"Posição do 1º caractere: "+texto.match(RegExp).index+"<br>"+
"Resultado da ER: "+texto.match(RegExp)[0]+"<br>"+
"Primeiro grupo: "+texto.match(RegExp)[1]+"<br>"+
"Segundo grupo: "+texto.match(RegExp)[2]+"<br>"+
"Terceiro grupo: "+texto.match(RegExp)[3]+"<br>");
} else {
console.log(“Nenhum texto ou expressão foram casados!");
}
</script>
25
Validando CPF
/* Verificando se o texto recebido contém dois números (([d]
{2})): veja que estão entre parênteses;
seguidos de barra (/);
Seguida de dois números (([d]{2})): veja que estão entre
parênteses;
seguidos de barra (/);
Seguida de quatro números (([d]{4})): veja que estão entre
parênteses;
Os parênteses determinam os grupos!
*/
26
Método Replace
O método replace é o método de uma string e é nativo
do JavaScript. No entanto, pode ser utilizado em
conjunto com as Expressões Regulares extendendo
significativamente a capacidade de manipulação dos
grupos casados na string, pela ER.
Exemplo: Suponha que no seu site existe um campo
para o usuário digitar os números do CPF. Esse campo
aceita apenas números, mas, antes do valor ser
enviado ao Banco de Dados, você deseja converter a
sequência numérica para o formato padrão do CPF,
que é: ###.###.###-## (#: qualquer número de 0 a 9).
27
Máscara para CPF
<script type="text/javascript">
//CPF recuperada de um campo text, por exemplo:
var texto = "00000000000";
var RegExp = /^([d]{3})([d]{3})([d]{3})([d]{2})$/;
if (texto.search(RegExp) != -1) {
var mascCPF = texto.replace(RegExp,"$1.$2.$3-$4");
document.write (mascCPF);
} else {
document.write("Nenhum texto ou expressão foram
casados!");
}
</script>
28
/* Dividindo por grupos:
Verificando se a expressão é iniciada por 3 números
(^([d]{3}));
seguidos de 3 números (([d]{3}));
seguidos de 3 números (([d]{3}));
seguidos de 2 números e finalizada (([d]{2})$);
*/
Validação:
Verifica CEP
29
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script type="text/javascript">
function Trim(strTexto)
{
return strTexto.replace(/^s+|s+$/g, '');
}
function IsCEP(strCEP)
{
var objER = /^[0-9]{2}.[0-9]{3}-[0-9]{3}$/;
strCEP = Trim(strCEP)
if(strCEP.length > 0)
{
if(objER.test(strCEP))
alert("CEP válido!");
else
alert("CEP inválido!");
}
else
alert("Caixa de Texto Vazia");
}
</script>
<form name="frm">
<label for="cep">CEP:</label>
<input type="text" size="12" id="cep" name="cep" onblur="IsCEP(frm.cep.value);">
</form>
</body>
</html>

Mais conteúdo relacionado

PDF
Java script aula 02 - operadores
PDF
Java script aula 05 - funções
PDF
Java script - funções
PDF
Java script aula 10 - angularjs
PPT
Aula javascript
PDF
Java script aula 09 - JQuery
PDF
Java script aula 07 - j-query
ODP
tmn - Introdução ao JavaScript
Java script aula 02 - operadores
Java script aula 05 - funções
Java script - funções
Java script aula 10 - angularjs
Aula javascript
Java script aula 09 - JQuery
Java script aula 07 - j-query
tmn - Introdução ao JavaScript

Mais procurados (20)

PDF
Introdução à MEAN Stack
PDF
Javascript aula 01 - visão geral
PDF
Evento Front End SP - Organizando o Javascript
ODP
Php 05 Mvc
PPTX
Clean Code
KEY
PHPubSP Object Calisthenics aplicado ao PHP
PDF
Boas Práticas em jQuery
PDF
Código legado - PHP Conference Brasil - 2014
KEY
Python 08
PDF
Ajax em java
PDF
Java script aula 07 - eventos
PDF
Php women oficina iniciante de php
PDF
Http Servlet
PDF
Desenvolvimento Rápido de Programas Linha de Comando
PDF
PHP Experience 2016 - [Palestra] Keynote: PHP-7
PDF
Java script aula 06 - dom
PDF
(A10) LabMM3 - JavaScript - Subalgoritmos
PDF
JavaScript e JQuery para Webdesigners
Introdução à MEAN Stack
Javascript aula 01 - visão geral
Evento Front End SP - Organizando o Javascript
Php 05 Mvc
Clean Code
PHPubSP Object Calisthenics aplicado ao PHP
Boas Práticas em jQuery
Código legado - PHP Conference Brasil - 2014
Python 08
Ajax em java
Java script aula 07 - eventos
Php women oficina iniciante de php
Http Servlet
Desenvolvimento Rápido de Programas Linha de Comando
PHP Experience 2016 - [Palestra] Keynote: PHP-7
Java script aula 06 - dom
(A10) LabMM3 - JavaScript - Subalgoritmos
JavaScript e JQuery para Webdesigners
Anúncio

Destaque (20)

PDF
Java script aula 04 - objeto array
PDF
Java script aula 03 - objetos
PDF
Aula 06 textos na web
PDF
Aula 07 acessibilidade
PDF
Aula 05 layout e composição do site
PDF
Aula 03-oac-componentes-de-um-sistema-de-computacao
PDF
Aula 07 - lista linear
PDF
Aula 08 - árvores
PDF
OAC Aula 09 - Entrada e Saída
PDF
Aula 02 semiótica e cores
PDF
Aula 04 layout e composição do site
PDF
WDI - aula 07 - css com html
PDF
Aprendendo action script 3.0
PPTX
Iniciando com action script 3
PPT
Flash Cs3 Pratica Action
PDF
Palestra "Inovações Tecnológicas"
PDF
Aula 01-oac-introducao-a-oac
PDF
Aula 01-introducao-ao-so
PDF
Aula 05-entrada e-saida
PDF
Aula 08-oac-execucao-de-programas
Java script aula 04 - objeto array
Java script aula 03 - objetos
Aula 06 textos na web
Aula 07 acessibilidade
Aula 05 layout e composição do site
Aula 03-oac-componentes-de-um-sistema-de-computacao
Aula 07 - lista linear
Aula 08 - árvores
OAC Aula 09 - Entrada e Saída
Aula 02 semiótica e cores
Aula 04 layout e composição do site
WDI - aula 07 - css com html
Aprendendo action script 3.0
Iniciando com action script 3
Flash Cs3 Pratica Action
Palestra "Inovações Tecnológicas"
Aula 01-oac-introducao-a-oac
Aula 01-introducao-ao-so
Aula 05-entrada e-saida
Aula 08-oac-execucao-de-programas
Anúncio

Semelhante a Java script aula 08 - formulários (20)

PDF
Javascript Recuperando Dados De Formularios
PDF
04_Introducao_JavaScript.pdf
PPTX
JAVASCRIT – Welcome the web world Arquivo: java-script-basico-unipac-extra-v0...
KEY
PDF
Introdução a JavaScript
PPTX
Minicurso Javascript
PPT
Melhorando a Experiência do Usuário com JavaScript e jQuery
PPTX
Introdução ao JS1.pptx
PDF
Apostila de ext js com php e postgresql v0.5
PDF
Apostila de ext js com php e postgresql v1.0
PDF
Apostila de ext js com php e postgresql v1.1
PDF
Apostila de ext js com php e postgresql v1.2
PDF
Apostila de ext js com php e postgresql v1.3
PPTX
Javascript para CSharpers 3 - Conceitos
PPT
Aula2
PDF
Linguagem de programação JavaScript.pdf
PDF
Html5 Aula 4
PDF
Javascript (parte 3)
PDF
Introdução ao JavaScript
PPTX
jQuery básico (parte 1)
Javascript Recuperando Dados De Formularios
04_Introducao_JavaScript.pdf
JAVASCRIT – Welcome the web world Arquivo: java-script-basico-unipac-extra-v0...
Introdução a JavaScript
Minicurso Javascript
Melhorando a Experiência do Usuário com JavaScript e jQuery
Introdução ao JS1.pptx
Apostila de ext js com php e postgresql v0.5
Apostila de ext js com php e postgresql v1.0
Apostila de ext js com php e postgresql v1.1
Apostila de ext js com php e postgresql v1.2
Apostila de ext js com php e postgresql v1.3
Javascript para CSharpers 3 - Conceitos
Aula2
Linguagem de programação JavaScript.pdf
Html5 Aula 4
Javascript (parte 3)
Introdução ao JavaScript
jQuery básico (parte 1)

Mais de Cristiano Pires Martins (11)

PDF
Aula 08 - árvores
PDF
Aula 01 introdução
PDF
Aula 03 esquema de cores
PDF
Aula 07-oac-processadores
PDF
Aula 06-oac-memoria-principal
PDF
Aula 05-oac-conceitos-de-logica-digital
PDF
Aula 02-oac-historia-da-computacao-part2
PDF
Aula 02-oac-historia-da-computacao-part1
PDF
Aula 10-oac-arquitetura-risc
PDF
Aula 06-sistemas de-arquivo
PDF
Aula 04-gerenciamento-basico-de-memoria
Aula 08 - árvores
Aula 01 introdução
Aula 03 esquema de cores
Aula 07-oac-processadores
Aula 06-oac-memoria-principal
Aula 05-oac-conceitos-de-logica-digital
Aula 02-oac-historia-da-computacao-part2
Aula 02-oac-historia-da-computacao-part1
Aula 10-oac-arquitetura-risc
Aula 06-sistemas de-arquivo
Aula 04-gerenciamento-basico-de-memoria

Último (11)

PPTX
Utilizando code blockes por andre backes
PDF
Manejo integrado de pragas na cultura do algodão
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PPTX
Mecânico de Manutenção de Equipamentos.pptx
PPTX
Arquitetura de computadores - Memórias Secundárias
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PPTX
Eng. Software - pontos essenciais para o início
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Utilizando code blockes por andre backes
Manejo integrado de pragas na cultura do algodão
Viasol Energia Solar -Soluções para geração e economia de energia
Mecânico de Manutenção de Equipamentos.pptx
Arquitetura de computadores - Memórias Secundárias
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Eng. Software - pontos essenciais para o início
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Termos utilizados na designação de relação entre pessoa e uma obra.pdf

Java script aula 08 - formulários

  • 1. Formulários Cristiano Pires Martins Fonte: JavaScript - Guia do Programador - Maujor 1
  • 2. Introdução Peças de composição de uma página presentes em praticamente todos os web sites; Interface de coleta de dados, mesmo apenas para busca; São interativos; O desenvolvedor não deve supor que o usuário digitará apenas o que se espera. 2
  • 3. Fundamentos Primeiro fundamento do uso de JavaScript com formulários: validar campos; Mas ações não devem apenas no cliente, tem que ser desenvolvida no lado do servidor; O elemento <form></form> é o container de todos os controles (campos) de um formulário. 3
  • 4. Elemento form<form  action="http://www.cpmart.eng.br" id="fdemo" method="get"></form> O elemento form admite os atributos: action: aponta para o endereço em que se encontra o programa destinado a processar os dados enviados pelo formulário; method: define o método de envio de dados para o servidor (get/post); enctype: tipo de codificação dos dados enviados para o servidor; accept-charset: lista de codificação de caracteres. Por default usa a mesma codificação do documento; accept: especifica uma lista de tipos de conteúdo para os dados a serem aceitos e processados no servidor; name: nome para o formulário. Esse atributo está em desuso e, em seu lugar, deve ser usado o atributo id. 4
  • 5. Outros atributos do form id class lang style title target onsubmit onreset onclick ondblclick onmousedown onmouseup onmouseover onmousemov e onmouseout onkeypress onkeydown onkeyup 5
  • 7. Objeto formulário 7 HTML <form method=” ” action=” ” id=”fdemo”> ... </form> JavaScript <script type=”text/javascript”> window.onload = function( ){ var formdemo = document.getElementById(“fdemo”); } </script>
  • 8. Objeto formulário 8 HTML <form method=” ” action=” ” id=”fdemo”> ... </form> JavaScript <script type=”text/javascript”> window.onload = function( ){ var formdemo = document.forms[0]; }</script> ou <script type=”text/javascript”> window.onload = function( ){ var formdemo = document.forms[“fdemo”]; }</script>
  • 9. Propriedades do objeto form action 9 HTML <form method=”post” action=”http://www.maujor.com” id=”fdemo”> ... </form> JavaScript <script type=”text/javascript”> window.onload = function( ){ var fdemo = document.getElementById(“fdemo”); alert(fdemo.action); //alerta http://www.maujor.com } </script>
  • 10. Propriedades do objeto form method 10 HTML <form method=”post” action=” ” id=”fdemo”> ... </form> JavaScript <script type=”text/javascript”> window.onload = function( ){ var fdemo = document.getElementById(“fdemo”); alert(fdemo.method); //alerta post } </script>
  • 11. Propriedades do objeto form name 11 HTML <form method=”post” action=” ” id=”fdemo” name=”fnome”> ... </form> JavaScript <script type=”text/javascript”> window.onload = function( ){ var fdemo = document.getElementById(“fdemo”); alert(fdemo.name); //alerta fnome } </script>
  • 12. Propriedades do objeto form length 12 HTML <form method=”post” action=” ” id=”fdemo”> <label for=”nome”>Nome:</label> <input type=”text” id=”nome”/> <label for=”email”>Email:</label> <input type=”text” id=”email”/> <input type=”submit” value=”OK”/> </form> JavaScript <script type=”text/javascript”> window.onload = function( ){ var fdemo = document.getElementById(“fdemo”); alert(fdemo.length); //alerta 3 } </script> Retorna a quantidade de controles existentes no formulário
  • 13. Propriedades do objeto form elements 13 HTML <form method=”post” action=” ” id=”fdemo”> <label for=”nome”>Nome:</label> <input type=”text” id=”nome”/> <label for=”email”>Email:</label> <input type=”text” id=”email”/> <input type=”submit” value=”OK”/> </form> JavaScript <script type=”text/javascript”> window.onload = function( ){ var fdemo = document.getElementById(“fdemo”); alert(fdemo.elements[1].tagName); //alerta INPUT alert(fdemo.elements.item(2).value); //alerta OK alert(fdemo.elements.item(0).value); alert(fdemo.elements.item(1).value); } </script> Retorna uma coleção de todos os controles existentes no formulário
  • 14. FOrm - html5 Apenas letras <input type="text" required="required" name="text" pattern="[a-zs]+$" /> Apenas números <input type="text" required="required" name="numbers" pattern="[0-9]+$" /> Data <input type="date" required="required" maxlength="10" name="date" pattern="[0-9]{2}/[0-9]{2}/[0-9]{4}$" min="2012-01-01" max="2014-02-18" /> 14
  • 15. FORM - HTML5 Hora <input type="time" required="required" maxlength="8" name="hour" pattern="[0-9]{2}:[0-9] {2} [0-9]{2}$" /> Campos genéricos de texto <input type="text" required="required" name="name" /> 15
  • 16. Validação: Senha 16 <html> <head> <title>Validade Senha</title> <script> function validarSenha(){ senha1 = document.f1.senha1.value senha2 = document.f1.senha2.value if (senha1 == senha2) alert("SENHAS IGUAIS") else alert("SENHAS DIFERENTES") } </script> </head> <body> VALIDAR SENHA <br> <form action="" name="f1"> Senha: <input type="password" name="senha1" size="20"> <br> Confirmar Senha: <input type="password" name="senha2" size="20"> <br> <input type="button" value="Validar" onClick="validarSenha()"> </form> </body> </html>
  • 17. Validação: Verifica número Inteiro 17 <script type="text/javascript"> var expressao = /^d+$/; function verificarInteiro( val ){ if( expressao.test( val ) ){ alert( "OK" ); } else{ if( val != null && val != "" ){ alert( "Não é um inteiro válido"); } } } </script> <form id="frmInteiro" action="#" onsubmit="verificarInteiro(this.txtInteiro.value); return false;"> <label for="txtInteiro">Valor:</label> <input type="text" size="10" id="txtInteiro" name="txtInteiro"> <input type="submit" value="Validar"> </form> • Em JavaScript, uma expressão regular é delimitada por uma barra / inicial e outra final. • Cada expressão de validação sempre começa com ^ (início de linha) e termina com $ (fim de linha), para garantir que abrange o conteúdo inteiro do texto (parâmetro) a ser validado. • Existe uma seqüência de expressão regular que significa um dígito (0 a 9): d. •Adicionando um + após essa seqüência, significa "uma ou mais ocorrências da seqüência precedente". Isto é, um ou mais dígitos. Note que isso implica o preenchimento obrigatório. •Assim, temos a expressão regular completa para validar um número apenas composto por dígitos.
  • 18. localizar um determinado termo em uma frase <script type="text/javascript"> var texto = "Expressões regulares em Javascript para iniciantes!"; var RegExp = /Javascript/; if (texto.search(RegExp) != -1) { console.log("Encontrado na posição: "+ texto.search(RegExp)); } else { console.log("Não encontrado!"); } </script> 18 //Verificar se no texto recebido existe a expressão: java script:
  • 19. Localizar um email em uma string <script type="text/javascript"> var texto = "O meu e-mail é: [email protected]"; var RegExp = /b[w]+@[w]+.[w]+/; if (texto.search(RegExp) != -1) { console.log("E-mail localizado na posição: " + texto.search(RegExp)); } else { console.log("E-mail não encontrado!"); } </script> 19
  • 20. Validando e-mails //Procura por uma palavra que contenha uma ou mais sequências de algarismos (letras ou números) (b[w]+); //Seguidos de um arroba (@); //Seguido de outra sequência de um ou mais algarismos ([w]+); //Seguidos de um ponto (.); //Seguido de outra sequência de um ou mais algarismos ([w]+). 20
  • 21. Validando E-mails <script type="text/javascript"> var texto = "[email protected]"; var RegExp = /^[w]+@[w]+.[w|.]+$/; if (RegExp.test(texto) == true) { console.log(“Formato válido!"); } else { console.log(“Formato inválido!"); } </script> 21
  • 22. Validando e-mails /* Verificando se o texto recebido é iniciado por um ou mais algarismos (^[w]+); seguidos de arroba (@); Seguido de um ou mais algarismos ([w]+); Seguido(s) de um ponto (.); Seguido (e finalizado) por um ou mais algarismos ou pontos ([w| .]+$); */ 22
  • 23. Validando CPF <script type="text/javascript"> var texto = "000.000.000-00"; var RegExp = /^[d]{3}.[d]{3}.[d]{3}-[d] {2}$/; if (RegExp.test(texto) == true) { document.write("Formato válido!"); } else { document.write("Formato inválido!"); } </script> 23
  • 24. Validando CPF /* Verificando se o texto recebido é iniciado por três números (^[d]{3}); seguidos de ponto (.); seguido de três números ([d]{3}); seguidos de ponto (.); seguido de três números ([d]{3}); seguidos de hífen (-); seguido (e finalizado) por dois números ([d]{2}$); */ 24
  • 25. Recuperar um array <script type="text/javascript"> var texto = "Eu nasci em 01/23/4567”; var RegExp = /([d]{2})/([d]{2})/([d]{4})/; if (texto.match(RegExp) != null) { console.log("Propriedades do método match: <br>"+ "Frase: "+texto.match(RegExp).input+"<br>"+ "Posição do 1º caractere: "+texto.match(RegExp).index+"<br>"+ "Resultado da ER: "+texto.match(RegExp)[0]+"<br>"+ "Primeiro grupo: "+texto.match(RegExp)[1]+"<br>"+ "Segundo grupo: "+texto.match(RegExp)[2]+"<br>"+ "Terceiro grupo: "+texto.match(RegExp)[3]+"<br>"); } else { console.log(“Nenhum texto ou expressão foram casados!"); } </script> 25
  • 26. Validando CPF /* Verificando se o texto recebido contém dois números (([d] {2})): veja que estão entre parênteses; seguidos de barra (/); Seguida de dois números (([d]{2})): veja que estão entre parênteses; seguidos de barra (/); Seguida de quatro números (([d]{4})): veja que estão entre parênteses; Os parênteses determinam os grupos! */ 26
  • 27. Método Replace O método replace é o método de uma string e é nativo do JavaScript. No entanto, pode ser utilizado em conjunto com as Expressões Regulares extendendo significativamente a capacidade de manipulação dos grupos casados na string, pela ER. Exemplo: Suponha que no seu site existe um campo para o usuário digitar os números do CPF. Esse campo aceita apenas números, mas, antes do valor ser enviado ao Banco de Dados, você deseja converter a sequência numérica para o formato padrão do CPF, que é: ###.###.###-## (#: qualquer número de 0 a 9). 27
  • 28. Máscara para CPF <script type="text/javascript"> //CPF recuperada de um campo text, por exemplo: var texto = "00000000000"; var RegExp = /^([d]{3})([d]{3})([d]{3})([d]{2})$/; if (texto.search(RegExp) != -1) { var mascCPF = texto.replace(RegExp,"$1.$2.$3-$4"); document.write (mascCPF); } else { document.write("Nenhum texto ou expressão foram casados!"); } </script> 28 /* Dividindo por grupos: Verificando se a expressão é iniciada por 3 números (^([d]{3})); seguidos de 3 números (([d]{3})); seguidos de 3 números (([d]{3})); seguidos de 2 números e finalizada (([d]{2})$); */
  • 29. Validação: Verifica CEP 29 <!DOCTYPE html> <html> <head> </head> <body> <script type="text/javascript"> function Trim(strTexto) { return strTexto.replace(/^s+|s+$/g, ''); } function IsCEP(strCEP) { var objER = /^[0-9]{2}.[0-9]{3}-[0-9]{3}$/; strCEP = Trim(strCEP) if(strCEP.length > 0) { if(objER.test(strCEP)) alert("CEP válido!"); else alert("CEP inválido!"); } else alert("Caixa de Texto Vazia"); } </script> <form name="frm"> <label for="cep">CEP:</label> <input type="text" size="12" id="cep" name="cep" onblur="IsCEP(frm.cep.value);"> </form> </body> </html>