Ir para conteúdo
Entre para seguir isso  
sergionpinheiro

Somente letras e números INPUT

Recommended Posts

Fala galera. Estou usando um script para transformar as letras que digito em MAIÚSCULAS e sem acento.

 

Tá tudo ok, porém surgiu outra necessidade e não conseguindo adaptar o que já estou usando.

 

Preciso de um script que permita somente LETRAS, NÚMEROS e ESPAÇOS.

 

Qualquer outra tecla: caracter especial ("!@#$%¨&*()_+{`}^:><,./), qualquer outra coisa seja bloqueada ao digitar. SOMENTE números e letras MAIÚSCULAS sem acento. Segue o código que estou usando no momento.

 

<script type="text/javascript">
function mascara(o,f) {
v_obj = o;
v_fun = f;
var varString = new String(v_obj.value);
var stringAcentos = new String('àâêôûãõáéíóúçüÀÂÊÔÛÃÕÁÉÍÓÚÇÜ');
var stringSemAcento = new String('aaeouaoaeioucuAAEOUAOAEIOUCU');
var i = new Number();
var j = new Number();
var cString = new String();
var varRes = '';
for (i = 0; i < varString.length; i++) {
cString = varString.substring(i, i + 1);
for (j = 0; j < stringAcentos.length; j++) {
if (stringAcentos.substring(j, j + 1) == cString) {
cString = stringSemAcento.substring(j, j + 1);
}
}
varRes += cString;
}
v_obj.value = varRes;
setTimeout("execmascara()",1);
}
function toUpper(v) {
v = v.toUpperCase();
return v;
}
</script>
No input, fica assim: onkeyup="mascara(this, toUpper)"
Como faço para adaptar esse código para a necessidade acima?
Fico no aguardo.
Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
Entre para seguir isso  

  • Conteúdo Similar

    • Por Loconarrativo
      Bom, no meu form, eu peço para o cliente digitar um valor (esse valor em reais), mas para continuar eu preciso me certificar que a variável que contem o valor, tenha 16 dígitos ao total, então se a pessoa digita uma 1000.00, eu preciso completar com 9 zeros a esquerda (fica assim 0000000001000.00), para eu saber quantos dígitos tem na variável, eu faço
      $i = strlen( $_POST['valor']);   ai eu faço
      $u = 8 - $i ; eu tenho o numero de zeros que preciso colocar a esquerda, mas como eu transformo isso em vários zeros? 
    • Por raphaelgs
      Os valores dos value estão aparecendo mais não estão somando apos carrego a pagina.  segue em anexo o print da tela quando carrego a pagina .
       
      Meu código HTML
       <section class="despesas">
          <h2>Despesas</h2>
         <div class="caixa-principal col-md-12">
            <p class="campo1"><span>Mensalidade Faculdade: </span>R$<input id="mensalidade" value="<?php echo get_post_meta( $post->ID,'mensalidade-faculdade', true ); ?>"    readonly></p>
            <p class="campo1"><span>Aluguel: </span>R$<input id="aluguel" value="<?php echo get_post_meta( $post->ID,'aluguel', true ); ?>"readonly></p>
            <p class="campo1"><span>Água: </span>R$<input id="agua" value="<?php echo get_post_meta( $post->ID,'agua', true ); ?>"readonly></p>
            <p class="campo1"><span>Luz: </span>R$<input id="luz" value="<?php echo get_post_meta( $post->ID,'luz', true ); ?>"readonly></p>
            <p class="campo2"><span>Telefone/Internet: </span>R$<input id="telefone" value="<?php echo get_post_meta( $post->ID,'telefone-internet', true ); ?>"readonly></p>
            <p class="campo1"><span>IPTU: </span>R$<input id="iptu" value="<?php echo get_post_meta( $post->ID,'iptu', true ); ?>"></p>
            <p class="campo1"><span>Financiamento de Imóvel: </span>R$<input id="imovel" value="<?php echo get_post_meta( $post->ID,'financiamento-imovel', true ); ?>"readonly></p>
            <p class="campo1"><span>Financiamento de Veículo: </span>R$<input id="veiculo" value="<?php echo get_post_meta( $post->ID,'financiamento-veiculo', true ); ?>"readonly></p>
            <p class="campo1"><span>Alimentação: </span>R$<input id="alimentacao" value="<?php echo get_post_meta( $post->ID,'alimentacao', true ); ?>"></p>
             <p class="campo1"><span>Medicamentos: </span>R$<input id="medicamentos" value="<?php echo get_post_meta( $post->ID,'medicamentos', true ); ?>"readonly></p>
             <p class="campo1"><span>Convênio Médico: </span>R$<input id="medico" value="<?php echo get_post_meta( $post->ID,'convenio-medico', true ); ?>"readonly></p>
             <p class="campo1"><span>Convênio Odontológico: </span>R$<input id="odontologico" value="<?php echo get_post_meta( $post->ID,'convenio-odontologico', true ); ?>"readonly></p>
             <p class="campo1"><span>Convênio Funerária : </span>R$<input id="funeraria" value="<?php echo get_post_meta( $post->ID,'convenio-funeraria', true ); ?>"readonly></p>
             <p class="campo1"><span>Transporte: </span>R$<input id="transporte" value="<?php echo get_post_meta( $post->ID,'transporte', true ); ?>"readonly></p>
             <p class="campo1"><span>Outros gastos: </span>R$<input id="outrosGastos" value="<?php echo get_post_meta( $post->ID,'outros-gastos', true ); ?>" readonly></p>
              <br><br>
              <p><span>Total das Despesas:</span>R$<input id="totalDespesas"></p>    
          </div>
      </section>
       
      Meu jQuery
      <script type="text/javascript">
              jQuery(document).ready(function($) {
                  $(document).ready(function() {
                      $("#aluno,#membro1,#membro2,#membro3,#membro4,#membro5,#membro6,#membro7,#membro8,#membro9").on('keyup', function() {
                          var aluno = parseFloat($('#aluno').val()) || 0;
                          var membro1 = parseFloat($('#membro1').val()) || 0;
                          var membro2 = parseFloat($('#membro2').val()) || 0;
                          var membro3 = parseFloat($('#membro3').val()) || 0;
                          var membro4 = parseFloat($('#membro4').val()) || 0;
                          var membro5 = parseFloat($('#membro5').val()) || 0;
                          var membro6 = parseFloat($('#membro6').val()) || 0;
                          var membro7 = parseFloat($('#membro7').val()) || 0;
                          var membro8 = parseFloat($('#membro8').val()) || 0;
                          var membro9 = parseFloat($('#membro9').val()) || 0
                          var totalRendaMembros = aluno + membro1 + membro2 + membro3 + membro4 + membro5 + membro6 + membro7 + membro8 + membro9;
                          $('#totalRenda').val(totalRendaMembros);
                      });
                  }); 
              });
          </script>

    • Por ghlevin
      Estou fazendo modificações no site de um cliente, tornando-o responsivo. Tive que fazer várias mudanças de layout que me foram enviadas por um fornecedor e, por causa dessas mudanças, algumas funções Javascript e PHP que eu tinha não funcionam no layout novo.
      Em uma delas, eu tenho dois filtros de data e local (unidade ou empresa). O de data é uma INPUT e o de unidades é um SELECT. Vou colocar o código da view abaixo:
      <form class="rd-mailform text-left" data-form-output="form-output-global" data-form-type="contact" method="post" novalidate="novalidate"> <p class="mobile-hide">Selecione abaixo os par&acirc;metros para visualiza&ccedil;&atilde;o.&nbsp;Se desejar salvar,&nbsp;enviar por e-mail ou imprimir,&nbsp;clique em&nbsp;'Gerar PDF'&nbsp;ou&nbsp;'Gerar Excel'.</p> <!--<div class="range range-xs-center" style="margin: 0px !important;">--> <div class="cell-sm-6"> <div class="form-group form-group-label-outside"> <label class="form-label form-label-outside text-dark rd-input-label" for="data-relatorio">Data</label> <input class="form-control form-control-last-child" id="data-relatorio" type="text" name="first-name" > </div> </div> <div class="cell-sm-6 offset-top-20 offset-sm-top-0"> <div class="form-group form-group-label-outside"> <label class="form-label form-label-outside text-dark rd-input-label" for="comboUnidades"> Unidade </label> <select id="comboUnidades" class="form-control select2-multiple" data-minimum-results-for-search="Infinity"> </select> </div> </div> <div style="width: 100%"> <div style="position: relative; float: left; padding: 5px" onclick="montaPDF()"><a class="btn btn-ellipse btn-java" href="#">GERAR PDF</a></div> <div style="position: relative; float: left; padding: 5px" onclick="montaExcel()" class="mobile-hide"><a class="btn btn-ellipse btn-java" href="#">GERAR EXCEL</a></div> </div> </form> Abaixo parte do código do arquivo JS que mostra como eram carregados esses filtros. O de data usa originalmente uma função datepicker, que não funciona no layout atual. E o das unidades usa uma função AJAX pra colocar todas as opções que vem do banco MySQL do site dentro do select comboUnidades:
      $(document).ready(function(){ showLoading(); var d = new Date(); d.setDate(d.getDate() - 1); $('#data-relatorio').datepicker({ dateFormat: "dd/mm/yy", maxDate: d }); $("#data-relatorio").datepicker('setDate',d); var param = location.href.split("?")[1]; if(typeof param != "undefined" ) { var unidade = param.split('=')[1]; } $.ajax({ async: false, url: '[:raiz]acompanhamentoDiario/getUnidades', dataType: 'json', success: function(data) { if (data.length > 0){ var retorno = ""; for(var i = 0;i < data.length; i++){ retorno += "<option value='"+data[i]['id']+"'>"+data[i]['newnome']+"</option>"; } $('#comboUnidades').html(retorno); if(typeof param != "undefined" ) { $('#comboUnidades option[value='+unidade+']').attr('selected', 'selected'); $('#comboUnidades').trigger('change'); } } else { } } }); $('#data-relatorio').change(function(){ montaTabela(); }); $('#comboUnidades').change(function(){ montaTabela(); }); var d = new Date(); $('#divTabela').hide(); montaTabela(); hideLoading(); }); Essa função chamada no AJAX se encontra num arquivo de Controller:
      public function getUnidades() { $acompanhamento = new AcompanhamentoDiario(); $retorno = $acompanhamento->getUnidadesUsuario(); echo json_encode($retorno); } Por sua vez, essa função do controller chama uma função em PHP que se encontra num arquivo da minha pasta Model do site. Ele traz as unidades do select dependendo do login do usuário:
      public function getUnidadesUsuario() { $idUser = Login::retornaIdUser(); $perfilAcesso = Login::retornaPerfilAcesso(); if(($perfilAcesso == 1) || ($perfilAcesso == 6)) { // Colocado o perfil 6 do Usuário de Demonstração /* se perfil de usuairo = 1*/ $sql = "SELECT u.*,concat(e.sigla,' - ',u.nome) as newnome"; $sql .= " FROM unidade u INNER JOIN cidade c ON u.CIDADE = c.id INNER JOIN estado e ON u.ESTADO = e.id"; $sql .= " join usuario_unidade uu on (uu.id_unidade = u.id)"; $sql .= " WHERE u.ind_unidade_ativa = 1 AND u.ind_predio_novo = 0"; $sql .= " and uu.id_usuario = $idUser and lower(uu.ind_tipo_investidor) != 'c' ORDER BY newnome ASC"; } elseif($perfilAcesso == 2) { /* se perfil de usuairo = 2*/ $sql = "SELECT u.*,concat(e.sigla,' - ',u.nome) as newnome"; $sql .= " FROM unidade u INNER JOIN cidade c ON u.CIDADE = c.id INNER JOIN estado e ON u.ESTADO = e.id"; $sql .= " join administrador adm on (adm.id_unidade = u.id)"; $sql .= " WHERE u.ind_predio_novo = 0"; $sql .= " and adm.id_usuario = $idUser and adm.id_usuario NOT IN (3124,4378)"; $sql .= " ORDER BY newnome ASC"; } else { /* se perfil de usuario = 3*/ $sql = "SELECT u.*,concat(e.sigla,' - ',u.nome) as newnome"; $sql .= " FROM unidade u INNER JOIN cidade c ON u.CIDADE = c.id INNER JOIN estado e ON u.ESTADO = e.id"; $sql .= " WHERE u.ind_predio_novo = 0 ORDER BY newnome ASC"; } $res = parent::executaQuery($sql); return $res; } A função montaTabela(), por ora, ainda não quero modificar, por isso não vou mostrar como ela é. Ela é executada na página dependendo da mudança dos filtros. Por ora, eu só queria saber como "popular" o select comboUnidades e como funcionar o filtro de data data-relatorio de forma semelhante ao datePicker.
    • Por Maykel dos Santos Figueire
      Gostaria de saber como posso fazer para ter inputs enviando valores diferentes dentro de um loop do while...
      <form method="POST" name="form" action="<?php echo $_SERVER['PHP_SELF'];?>"> <?php while ($linhasMotoristas = mysqli_fetch_array($consultaMotoristas)) { $motoristasStatus = $linhasMotoristas['status']; $motoristasId = $linhasMotoristas['idmotoristas']; $motoristasNome = $linhasMotoristas['nome']; $motoristasCpf = $linhasMotoristas['cpf']; $motoristasGanhos = $linhasMotoristas['ganhos'] ?> <tr> <td class="s"> <?php if($motoristasStatus == 1){ echo "<div style='color: green;'>●</div>"; }else{echo "<div style='color: red;'>●</div>"; } ?> </td> <td class="m"><?php echo $motoristasId;?></td> <td class="n"><?php echo $motoristasNome;?></td> <td class="c"><input type="hidden" name="<?php $td_1 = $motoristasId;?>"><?php echo $motoristasCpf;?> </td> <td class="g"><?php echo round($motoristasGanhos, 2);?></td> <td> <input type="text" name="valorBruto"> <input type="submit" name="submit"> <?php if (isset($_POST['submit'])?$_POST['submit'] : 0) { $valorBruto = $_POST['valorBruto']; $porcentagemBase = 5/100; $encargosBase = 25/100; $vezesPorcentagem = $valorBruto*$porcentagemBase; $menosEncargosBase = $vezesPorcentagem-$encargosBase; $resultadoLiquido = $menosEncargosBase*$porcentagemBase; $resultadoGeral = $resultadoLiquido; } ?> <?php echo round($resultadoGeral,2); ?> <?php echo $td_1;?> </td> </tr> <?php } ?> </form> Como vocês podem ver na imagem, ele soma todos os campos com o mesmo valor, queria que somasse um valor para cada campo...

    • Por Rafael Freitas
      Boa noite galera!
       
      Estou precisando de uma força, seguinte:
      Eu tenho um sisteminha de login e senha funcionando normalmente. Porém, a página que seria "restrita somente à usuários logado" está acessível para qualquer um, se esse tentar acessar pela url.
       
      Como faço pra restringir aquela página somente para quem estiver logado. Caso não esteja, direcionar para a página de login novamente.
       
      Segue o código:
      <?php session_start(); //Incluindo a conexão com banco de dados include_once("conexao.php"); //O campo usuário e senha preenchido entra no if para validar if((isset($_POST['email'])) && (isset($_POST['senha']))){ $usuario = mysqli_real_escape_string($conn, $_POST['email']); //Escapar de caracteres especiais, como aspas, prevenindo SQL injection $senha = mysqli_real_escape_string($conn, $_POST['senha']); $senha = md5($senha); //Buscar na tabela usuario o usuário que corresponde com os dados digitado no formulário $result_usuario = "SELECT * FROM usuarios WHERE email = '$usuario' && senha = '$senha' LIMIT 1"; $resultado_usuario = mysqli_query($conn, $result_usuario); $resultado = mysqli_fetch_assoc($resultado_usuario); //Encontrado um usuario na tabela usuário com os mesmos dados digitado no formulário if(isset($resultado)){ $_SESSION['usuarioId'] = $resultado['id']; $_SESSION['usuarioNome'] = $resultado['nome']; $_SESSION['usuarioNiveisAcessoId'] = $resultado['niveis_acesso_id']; $_SESSION['usuarioEmail'] = $resultado['email']; if($_SESSION['usuarioNiveisAcessoId'] == "1"){ header("Location: administrativo.php"); }elseif($_SESSION['usuarioNiveisAcessoId'] == "2"){ header("Location: colaborador.php"); }else{ header("Location: cliente.php"); } //Não foi encontrado um usuario na tabela usuário com os mesmos dados digitado no formulário //redireciona o usuario para a página de login }else{ //Váriavel global recebendo a mensagem de erro $_SESSION['loginErro'] = "Usuário ou senha Inválido"; header("Location: index.php"); } //O campo usuário e senha não preenchido entra no else e redireciona o usuário para a página de login }else{ $_SESSION['loginErro'] = "Usuário ou senha inválido"; header("Location: index.php"); } ?> Ainda estou começando no PHP,  quem puder dar uma força, agradeço! =)
       
      Abraço.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.