141 votes

Vérifier si une chaîne de caractères comporte des espaces blancs

J'essaie de vérifier si une chaîne de caractères a des espaces blancs . J'ai trouvé cette fonction mais elle ne semble pas fonctionner :

function hasWhiteSpace(s) 
{
    var reWhiteSpace = new RegExp("/^\s+$/");

    // Check for white space
    if (reWhiteSpace.test(s)) {
        //alert("Please Check Your Fields For Spaces");
        return false;
    }

    return true;
}

Au fait, j'ai ajouté des guillemets à RegExp .

Y a-t-il un problème ? Y a-t-il quelque chose de mieux que je puisse utiliser ? JQuery, j'espère.

0 votes

Votre logique est à l'envers, vrai signifie faux.

2 votes

Tu retournes false si la chaîne a des espaces, ta logique est inversée.

0 votes

La regex en question vérifie les motifs comportant uniquement des espaces dans les chaînes de caractères, commençant par un espace, comportant un ou plusieurs espaces et se terminant par un espace.

2voto

Brian Schroth Points 2000

Votre logique est à l'envers, vrai signifie faux.

1voto

PaulG Points 1052

Une approche simple consiste à comparer la longueur de la chaîne de caractères d'origine à celle de la chaîne de caractères dont les espaces sont remplacés par des espaces vides. Par exemple :

const hasWhiteSpaces = (text: string) => text.length === text.replace(" ", "").length

1voto

MiXT4PE Points 400
function hasWhiteSpace(s) {
  return s.includes(' ')
}

1voto

Arun Kenjila Points 61

Je pense que nous pouvons utiliser inclut()

message :string = "Hello world";
message2 : string = "Helloworld";

message.includes(' '); // true
message2.inlcudes(' ')// false

0voto

CyborgHead Points 11

Voici ma suggestion de validation :

var isValid = false;

// Check whether this entered value is numeric.
function checkNumeric() {
    var numericVal = document.getElementById("txt_numeric").value;

    if(isNaN(numericVal) || numericVal == "" || numericVal == null || numericVal.indexOf(' ') >= 0) {
        alert("Please, enter a numeric value!");
        isValid = false;
    } else {
        isValid = true;
    }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X