Sidinelson10 Postado Dezembro 19, 2008 Denunciar Share Postado Dezembro 19, 2008 Olá Pessoal bom Dia gostaria de saber como eu faço isso eu tenho um codigo que tira os acentos em php mais eu queria se um nome tive-se acento ele desse um alerta dizendo que esse nome tem acento $var = "pé , número , munícipio";$ant = $var;$var = ereg_replace("[ÁÀÂÃ]","A",$var);$var = ereg_replace("[áàâãª]","a",$var);$var = ereg_replace("[ÉÈÊ]","E",$var);$var = ereg_replace("[éèê]","e",$var);$var = ereg_replace("[ÓÒÔÕ]","O",$var);$var = ereg_replace("[óòôõº]","o",$var);$var = ereg_replace("[ÚÙÛ]","U",$var);$var = ereg_replace("[úùû]","u",$var);$var = str_replace("Ç","C",$var);$var = str_replace("ç","c",$var);echo "Resultado anterior: ".$ant."\n";echo"<br>";echo "Resultado posterior: ".$var."\n"; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Wanderson Camargo Postado Dezembro 19, 2008 Denunciar Share Postado Dezembro 19, 2008 (editado) Olha só: se um nome é válido ele somente pode possuir letras minúsculas, maiúsculas ou espaço. Vamos trabalhar com OO?Validator.php<?php abstract class Validator { public static function isInvalid($text) { if(!is_string($text)) throw new Exception('Invalid String'); $error = !eregi('^([a-z]|[A-Z]|\s){1,}$',$text); return $error; } }?>[/codebox]teste.php[codebox]<?php include 'Validator.php'; try { echo 'Joana é nome '.(Validator::isInvalid('Joana') ? 'inválido' : 'válido').'.<br/>'; echo 'Cléber é nome '.(Validator::isInvalid('Cléber') ? 'inválido' : 'válido').'.<br/>'; } catch(Exception $e) { echo $e->getMessage(); }?>Ou seja ^_^if(!eregi('^([a-z]|[A-Z]|\s){1,}$',$text)) echo 'Invalid name.'; Editado Dezembro 19, 2008 por Wanderson Camargo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Romerito Postado Dezembro 19, 2008 Denunciar Share Postado Dezembro 19, 2008 olá Sidinelson10, tenta esse código JS:<script language="javascript"> function avalia( este ) { var NaoPode = new RegExp( /\W/gi ); var encontrou = NaoPode.exec( este.value ); if ( encontrou ) { alert( "Não pode usar acentuação, nem simbolos." ); este.value = este.value.substring( 0 , ( este.value.length - 1 ) ); } } </script> no seu campo chame assim: onkeyup="avalia(this);"se quiser saber mais sobre ER javascript aconselho esse artigo muito bom.Expressão Regular Javascriptespero que ajude, abraço. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Sidinelson10 Postado Dezembro 19, 2008 Autor Denunciar Share Postado Dezembro 19, 2008 Amigo eu pegue uma parte do codigo que você coloco Orientada Objecto essa aque !eregi('^([a-z]|[A-Z]|\s){1,}$',$var)e coloquei dento de um IF em php assim mais se eu coloca ponto numa palavra ele dá o alertaeu só queria que ele libereça o ponto eu to fazendo assim$var = "pe.jpg";if (!eregi('^([a-z]|[A-Z]|\s){1,}$',$var) ){echo "<script>alert('Não são permitidos caracteres diferentes de A à Z e 0 à 9');window.history.go(-1)</script>";exit;} Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Romerito Postado Dezembro 19, 2008 Denunciar Share Postado Dezembro 19, 2008 :o muda para:if (!eregi('^([a-z]|[A-Z]|\\.|\s){1,}$',$var) ){abraço. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Sidinelson10 Postado Dezembro 19, 2008 Autor Denunciar Share Postado Dezembro 19, 2008 (editado) $var = "peca.jpg";echo"$var";echo"<br>";if (!eregi('^([a-z]|[A-Z]|\\.|\s){1,}$',$var) ){echo "<script>alert('Não é permitidos o Nome do Arquivo Com Acento ou Ç ');window.history.go(-1)</script>";exit;}Resolvido pessoal ele valida o nome do arquivo quando tiver fazendo upload da imagem o codigo esta ai em cima certinho....Amigo valeu pelo codigo mais gostaria muito de entender essa parte do eregi com os caracteris que eu quero bloquear...ok fico no aguardo de sua respostae um Feliz Natal a todos e um feliz Ano Novo tambem :) Editado Dezembro 19, 2008 por Sidinelson10 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Wanderson Camargo Postado Dezembro 19, 2008 Denunciar Share Postado Dezembro 19, 2008 Minha assinatura já te diz tudo ^^Abraços!http://imasters.uol.com.br/artigo/2515/jav...lar_expression/ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Romerito Postado Dezembro 19, 2008 Denunciar Share Postado Dezembro 19, 2008 agora notei que a ER está errada, o alert diz:Não são permitidos caracteres diferentes de A à Z e 0 à 9', ela não vai aceitar numeros , se você desejar que aceite numeros use assim:if ( !eregi( '^([a-z0-9]|\\.|\s ){1,}$' , $var ) ){abraço. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Sidinelson10
Olá Pessoal bom Dia gostaria de saber como eu faço isso
eu tenho um codigo que tira os acentos em php mais eu queria se um nome tive-se acento ele desse um alerta
dizendo que esse nome tem acento
$var = "pé , número , munícipio";
$ant = $var;
$var = ereg_replace("[ÁÀÂÃ]","A",$var);
$var = ereg_replace("[áàâãª]","a",$var);
$var = ereg_replace("[ÉÈÊ]","E",$var);
$var = ereg_replace("[éèê]","e",$var);
$var = ereg_replace("[ÓÒÔÕ]","O",$var);
$var = ereg_replace("[óòôõº]","o",$var);
$var = ereg_replace("[ÚÙÛ]","U",$var);
$var = ereg_replace("[úùû]","u",$var);
$var = str_replace("Ç","C",$var);
$var = str_replace("ç","c",$var);
echo "Resultado anterior: ".$ant."\n";
echo"<br>";
echo "Resultado posterior: ".$var."\n";
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.