Maison > Questions et réponses > le corps du texte
Merci à tous d'avance. J'ai écrit une entrée avec type = nombre. En raison des besoins professionnels, seuls des chiffres peuvent être saisis dans cette entrée, et les signes plus et moins ne peuvent pas être saisis.
Je voulais à l'origine juger la valeur de l'entrée et supprimer manuellement les signes plus, les signes moins et les points redondants, mais j'ai découvert qu'une fois la valeur saisie illégale, la valeur de l'entrée était convertie en une chaîne vide ''. De cette façon, je ne peux pas obtenir la valeur en entrée.
J'y réfléchis depuis longtemps mais je ne connais pas la solution. S'il vous plaît, aidez-moi, merci~
Au fait, j'ai écrit la page en vue~~~
为情所困2017-05-16 13:39:46
Utilisez une expression régulière pour faire correspondre '^[-]?[0-9]*.?[0-9]+(eE?[0-9]+)?$'
<input type="text" />
Vous pouvez utiliser cette méthode pour surveiller les modifications de la valeur d'entrée. Si vous constatez que la vérification échoue, vous serez invité.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Welcome</title>
</head>
<body>
<form>
<input id="inputNumber" type="text" name="test" onblur="checkNumber()">
</form>
<script type="text/javascript">
function checkNumber(){
var inputNumber = document.getElementById('inputNumber').value;
if(!/^[-]?[0-9]*\.?[0-9]+(eE?[0-9]+)?$/.test(inputNumber)){
alert('Please input a valid number!');
return false;
}
}
</script>
</body>
</html>
大家讲道理2017-05-16 13:39:46
onkeyup="this.value=this.value.replace(/D/g,'')" onafterpaste="this.value=this.value.replace(/D/g,'')"
滿天的星座2017-05-16 13:39:46
type=number ne devrait pas pouvoir empêcher directement les utilisateurs de saisir des signes positifs et négatifs, e et plusieurs points décimaux.
Il faut encore le juger par la valeur de l'entrée.
En ce qui concerne le problème selon lequel la valeur d'entrée est illégale et que la valeur d'entrée est convertie en une chaîne vide,
Vous pouvez changer le type d'entrée en texte, puis utiliser des expressions régulières et les remplacer pour supprimer les non-chiffres et plusieurs points décimaux.
淡淡烟草味2017-05-16 13:39:46
Ensuite, vous pouvez utiliser v-model pour lier une valeur, puis surveiller la valeur via watch. Mais lorsque vous trouvez une valeur illégale, supprimez simplement la chaîne illégale
.