Maison  >  Questions et réponses  >  le corps du texte

javascript - Comment puis-je empêcher la saisie de type = nombre d'ajouter des signes plus, des signes moins et plusieurs points décimaux?

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~~~

给我你的怀抱给我你的怀抱2713 Il y a quelques jours1360

répondre à tous(6)je répondrai

  • 为情所困

    为情所困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>

    répondre
    0
  • 某草草

    某草草2017-05-16 13:39:46

    Publiez vos js et jetez un oeil

    répondre
    0
  • 大家讲道理

    大家讲道理2017-05-16 13:39:46

    onkeyup="this.value=this.value.replace(/D/g,'')" onafterpaste="this.value=this.value.replace(/D/g,'')"

    répondre
    0
  • 滿天的星座

    滿天的星座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.

    répondre
    0
  • 淡淡烟草味

    淡淡烟草味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

    .

    répondre
    0
  • phpcn_u1582

    phpcn_u15822017-05-16 13:39:46

    <input type="tel" />

    répondre
    0
  • Annulerrépondre