Maison > Article > interface Web > Rechercher des nombres à l'aide de JavaScript RegExp
Dans ce tutoriel, nous apprendrons comment trouver des nombres (0-9) à l'aide de JavaScript RegExp. Les valeurs ASCII pour les nombres [0-9] commencent de 48 à 57. Si vous souhaitez imprimer une valeur ASCII d'un nombre, vous devez ajouter 48 au nombre.
Nous représentons les nombres par d dans les expressions régulières. RegExp est un objet qui spécifie un modèle pour effectuer des opérations de recherche et de remplacement ou une validation d'entrée sur des chaînes.
Ce qui suit est la syntaxe du modèle d'expression régulière pour les nombres ou les caractères d -
new RegExp("\d") or simply /\d/
/d/ a été introduit dans ES1. Il est entièrement pris en charge par tous les navigateurs. Tels que Chrome, IE, Safari, Opéra, Firefox et Edge.
RegExp a des modificateurs comme g, i, m. "g" est utilisé pour effectuer une correspondance globale, "i" est utilisé pour effectuer une correspondance insensible à la casse et "m" est utilisé pour effectuer une correspondance multi-lignes.
La syntaxe pour d avec un modificateur comme,
new RegExp("\d", "g") or simply /\d/g
Voyons quelques exemples de programmes pour une compréhension plus claire.
Dans le programme ci-dessous, nous utilisons la correspondance de chaîne (modèle) pour trouver les nombres (d) dans une chaîne donnée. Nous utilisons le mode RegExp comme /d/g. La méthode string match() renvoie un tableau de nombres dans une chaîne.
<!DOCTYPE html> <html> <body> <h2>RegExp digit finding</h2> <p id="text"> </p> <p>Digit(s): <span id = "result"></span> </p> <script> let text = "200 students are passed out 250 in the class."; document.getElementById("text").innerHTML = text; let pattern = /\d/g; let result = text.match(pattern); document.getElementById("result").innerHTML = result; </script> </body> </html>
Ici, la méthode match() renverra un tableau de nombres s'il y a des nombres dans le texte donné, sinon elle renverra null. Regardons un autre exemple.
Dans le programme ci-dessous, nous prenons une chaîne sans nombres et essayons de trouver des nombres dans la chaîne. Nous utilisons la correspondance de chaîne (modèle) pour trouver les nombres (d) dans une chaîne donnée. Nous utilisons le mode RegExp comme /d/g. Voyons à quoi ressemble notre sortie.
<!DOCTYPE html> <html> <body> <h2>Finding digits using RegExp</h2> <p id = "result"></p> <script> let text = "All students are qualified for the test"; let pattern = /\d/g; let result = text.match(pattern); if(result == null){ document.getElementById("result").innerHTML = "No digits found in the text."; } else { document.getElementById("result").innerHTML = result; } </script> </body> </html>
Dans le programme ci-dessous, nous recherchons des nombres entre 2 et 7. Pour ce faire, nous utilisons /?/[2-7]/g comme modèle d’expression régulière.
<!DOCTYPE html> <html> <body> <h2>RegExp digit finding</h2> <p id = "text"></p> <p>Digit(s): <span id = "result"></span> </p> <script> let myStr = "200 students are passed out 250 in the class."; document.getElementById("text").innerHTML = myStr; let pattern = /[2-7]/g; let result = myStr.match(pattern); document.getElementById("result").innerHTML = result; </script> </body> </html>
Nous pouvons utiliser certaines méthodes pour remplacer les caractères numériques. Voyons l'exemple ci-dessous
Trouver et remplacer des numéros
Dans l'exemple ci-dessous, nous trouvons des nombres et les remplaçons par des espaces. Pour cela, nous utilisons les méthodes split() et join().
<!DOCTYPE html> <html> <body> <h2>Replace digit character(s)</h2> <p id = "text"></p> <p>After replacing the digit character(s): <span id = "result"></span> </p> <script> let myStr = "200 students are passed out 250 in the class."; document.getElementById("text").innerHTML = myStr; let pattern = /\d/g; let result = myStr.split(/\d/g).join(" ") document.getElementById("result").innerHTML = result; </script> </body> </html>
Nous rechercherons également un moyen plus simple de remplacer les caractères numériques. Genre,
<!DOCTYPE html> <html> <body> <h2>Replace digit character</h2> <p id = "text"></p> <p>After replacing the digit character(s): <span id = "result"></span> </p> <script> let myStr = "200 students are passed out 250 in the class."; document.getElementById("text").innerHTML = myStr; let pattern = /\d/g; let result = myStr.replace(/\d/g , " ") document.getElementById("result").innerHTML = result; </script> </body> </html>
Comme nous en avons discuté, g signifie correspondance globale. Il ne s'arrête pas à la première occurrence, mais recherche toutes les occurrences.
Ici, nous pouvons observer qu'il n'y a pas de chiffres dans le texte. Par conséquent, match() renverra null. Espérons que ce didacticiel ait clarifié comment trouver des nombres dans un texte donné.
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!