javascript - Como permitir apenas um ponto decimal para entrada do tipo número no ionic 1
Estou usando um input do tipo número que permite vários pontos decimais, então tentei usar regex para não permitir mais de um ponto decimal, mas mesmo após usar a regex ainda estou enfrentando o mesmo problema. Alguém pode me dizer como permitir apenas um ponto decimal em um input do tipo número no Ionic1?
Html :
<input stopccp focus-me class="inputContainer trade_input" type="number" name="" ng-model="vm.total_amount[$index]" ng-change="vm.onTotalCost()" limit-char limit="5" ng-keyup="vm.decimalcheck(vm.total_amount[$index])" >
Regex na função:
function decimalcheck (element) {
$log.log('decimalcheck got called', element);
var regex = /\d*\.?\d?/g;
return regex.exec(element);
}
Resposta #1
Tente este Regex:
^\d*\.?\d+$
Clique para Demo
Explicação:
^- Início da string\d*- 0 ou mais dígitos\.?- 0 ou 1 ponto decimal\d+- 1+ dígitos (tornando assim obrigatório ter pelo menos um dígito após o ponto decimal, se ele estiver presente)$- Fim da String
SAÍDA:
Resposta #2
<input type="text" pattern="\d+\.?\d?(?!\d)" />
