Maison  >  Article  >  interface Web  >  Comment définir une zone de texte en javascript afin que seul du texte puisse être saisi

Comment définir une zone de texte en javascript afin que seul du texte puisse être saisi

PHPz
PHPzoriginal
2023-04-21 14:14:081262parcourir

JavaScript est un langage de programmation souvent utilisé dans notre développement Web. Il nous donne de nombreuses compétences opérationnelles riches pour mettre en œuvre de nombreuses opérations sur les éléments de pages Web. Par exemple, nous pouvons définir la zone de texte via JavaScript pour autoriser uniquement la saisie de texte. Dans cet article, nous verrons comment implémenter cette fonctionnalité à l'aide de JavaScript.

Tout d’abord, nous devons comprendre certaines propriétés de la zone de texte. En HTML, lorsque nous définissons une zone de texte, nous pouvons définir son attribut de type sur "text", et nous pouvons également définir d'autres attributs pour la zone de texte, tels que : maxlength, size et placeholder. Ces propriétés peuvent définir pour nous certaines fonctions de base de la zone de texte, telles que la limitation du nombre de caractères saisis, la taille de la zone de texte et les espaces réservés du formulaire.

Pour définir la zone de texte afin qu'elle autorise uniquement la saisie de texte, nous avons besoin de JavaScript pour l'implémenter. Pour ce faire, nous pouvons utiliser l'événement onkeypress, qui se déclenche lorsqu'une touche est enfoncée. Nous pouvons vérifier le code de la clé lorsque l'événement se produit et bloquer toute saisie de clé non alphabétique. Voici le code d'implémentation spécifique :

// 获取文本框元素
let input = document.getElementById("input");

// 绑定 keypress 事件
input.addEventListener("keypress", function(event) {
  let charCode = event.charCode;

  // 检查输入的是否为字母或退格键
  if (charCode !== 0 && !/^[a-zA-Z]$/.test(String.fromCharCode(charCode))) {
    // 阻止按键事件的默认行为,即不允许输入非字母字符
    event.preventDefault();
  }
});

Dans ce code, nous obtenons d'abord l'élément de zone de texte, puis y lions le gestionnaire d'événements keypress. Cet événement sera déclenché lorsque l'utilisateur appuie sur le clavier, et nous pouvons utiliser le. fonction checkCharCode() pour déterminer si les caractères saisis sont des lettres. Si des caractères non alphabétiques sont saisis, le comportement par défaut des événements clés peut être empêché via la fonction PreventDefault() afin que les caractères non alphabétiques ne soient pas affichés.

De plus, nous pouvons également utiliser des expressions régulières pour vérifier si la saisie dans la zone de texte est légale. Par exemple, nous pouvons utiliser l'expression régulière /^[a-zA-Z]+$/g pour correspondre lorsque seules des lettres sont saisies, le code est le suivant :

// 获取文本框元素
let input = document.getElementById("input");

// 绑定 keypress 事件
input.addEventListener("keypress", function(event) {
  let charCode = event.charCode;

  // 检查输入的是否为字母或退格键
  if (charCode !== 0 && !/^[a-zA-Z]$/.test(String.fromCharCode(charCode))) {
    // 阻止按键事件的默认行为,即不允许输入非字母字符
    event.preventDefault();
  }

  // 检查文本框中的格式是否全部为字母
  if (!/^[a-zA-Z]+$/.test(input.value)) {
    input.value = input.value.replace(/[^a-zA-Z]+/g, "");
  }
});

Dans cet exemple, nous utilisons une expression régulière pour vérifier la zone de texte pour chaque caractère. Si le caractère saisi n'est pas une lettre ou la touche retour arrière, utilisez PreventDefault() pour empêcher sa saisie. Dans le même temps, nous utilisons également une expression régulière pour vérifier le contenu de la zone de texte entière, et s'il y a un caractère non alphabétique, le remplaçons par un caractère nul. Cela garantit qu'il n'y a que des caractères alphabétiques dans la zone de texte.

En résumé, à travers l'introduction ci-dessus, nous pouvons découvrir comment utiliser JavaScript pour réaliser que la zone de texte ne peut saisir que du texte. Il est toutefois important de noter que cette restriction n’est pas parfaite. Par exemple, si l'utilisateur choisit de coller une chaîne non alphabétique, ces méthodes ne parviennent pas à empêcher cela. Par conséquent, nous pouvons ajouter d’autres moyens de renforcer les restrictions de saisie de la zone de texte afin d’obtenir une meilleure expérience de saisie et une meilleure sécurité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn