tognere 2 Denunciar post Postado Dezembro 31, 2013 galera...to com o seguinte problema....eu estou fazendo um formulario de cadastro de usuarios ....fiz a validação contra senha incorreta e validação contra campo vazio....entretanto eu naum quero q os usuarios cadastrados digitem palavras com espaços....o que eu posso fazer para fazer este tipo de validação????????????? alguem pode me ajudar????? desde já agradeço..... Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Dezembro 31, 2013 Existem várias maneiras, a mais simples é você usar str_replace para remover espaços em branco, usar strlen para contar os caracteres da string original e da nova (depois do str_replace) e por fim verificar se as duas strings tem o mesmo tamanho. Compartilhar este post Link para o post Compartilhar em outros sites
tognere 2 Denunciar post Postado Janeiro 1, 2014 ESerra...achu q vc me entendeu errado....eu naum quero remover os espaços em branco...eu quero tipo uma função pra verificar se existem espaços em branco....se existir que naum quero permitir o cadastro deste usuario....entendeu??? espero que possa me ajudar..... Compartilhar este post Link para o post Compartilhar em outros sites
Wallace Maxters 10 Denunciar post Postado Janeiro 1, 2014 Primeiro vamos ao teste: $string1 = 'com espaço em branco'; $string2 = 'semespaço'; if( preg_match('/\s/', $string1)) { echo 'tem espaço em branco'; } if( preg_match('/\s/', $string2)) { echo 'tem espaço em branco'; } Sabendo que funcionou, então criamos a função: function check_white_space($string) { return ( ! preg_match('/\s/', $string)); } Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Janeiro 2, 2014 cuidado com os caracteres multbyte e os tipos half e full width.. exemplo: $str = 'foo bar'; // tem espaço em branco mas retornará N, pois é um caracter multbyte echo ( preg_match('/\s/', $str) ) ? 'Y' : 'N'; $str = 'foo bar'; // esse é ASC.. retornará Y echo ( preg_match('/\s/', $str) ) ? 'Y' : 'N'; Para evitar esse conflito, converta-o com mb_convert_kana() $str = 'foo bar'; echo ( preg_match( '/\s/', mb_convert_kana($str, "s") ) ) ? 'Y' : 'N'; Visualmente parece imperceptível, mas é possível enxergar a diferença do tamanho: ' ' ' ' ' ' ' ' ' ' ' ' ' ' obs: deixei fora da tag "code" pra evitar quebrar a formatação original Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Janeiro 2, 2014 Oi Senhores, bom dia. Removi os posts ofensivos e as conversas paralelas que não ajudavam a resolver a dúvida. @topic Identificar um caracter no meio de uma cadeia de caracteres é bem simples. Vamos pensar um pouco ? 1. Varrer caracter por caracter, comparando se ele é ou não um espaço. 2. Usar alguma função que verifique se existe tal coisa no meio da string. strpos http://php.net/strpos 3. Usar Expressão Regular para casar um padrão esperado. (sugestão do Wallace) 4. Remover os espaços e comparar o tamanho das strings (sugestão do ESerra) Eu pessoalmente considero a sugestão 2 a mais simples de todas. Tente implementar alguma e volte com as dúvidas. Ou pense em mais alguma outra, é um bom exercício de programação. Compartilhar este post Link para o post Compartilhar em outros sites
tognere 2 Denunciar post Postado Janeiro 2, 2014 galera.... utilizei a função strstr(); deu certo....muito obrigado.... VCs me ajudaram muito... Compartilhar este post Link para o post Compartilhar em outros sites
Wallace Maxters 10 Denunciar post Postado Janeiro 2, 2014 galera.... utilizei a função strstr(); deu certo....muito obrigado.... VCs me ajudaram muito... putz, é mesmo! também dá certo. Oi Senhores, bom dia. Removi os posts ofensivos e as conversas paralelas que não ajudavam a resolver a dúvida. Paz e amor! E feliz 2014. Compartilhar este post Link para o post Compartilhar em outros sites