-1
votes

Comment restreindre le type d'entrée

J'essaie actuellement de limiter les données d'entrée qui ne peuvent entrer que 3 lettres et 2 numéros. Il sera vérifié après le bouton OnClicked. Mon code incorrect:

composant.html xxx

composant.ts xxx

Merci pour votre aide!


3 commentaires

Qu'est-ce que ça fait mal?


mec tu veux dire mon code ou mon message qui édité par Mr.Pimpale?


Votre code. Il demande comment il se trompe, comment il devrait se comporter. Les modifications de Prashant ne sont pas encore visibles.


8 Réponses :


1
votes

Je pense que vous devriez faire quelque chose comme: xxx

modifier (explication)

string.match retourne un éventail de matchs. Donc, obtenir sa longueur vous permettra de savoir si vous avez des données correctes.

En outre, la regex correcte est / ([[AZ]]) / g et analagiquement pour AZ et 0-9


2 commentaires

Vous pouvez également le simplifier à Test3.Match (/ ([A-ZA-Z]) / g) .length === 2


Vous êtes un gars si gentil merci beaucoup et mon problème corrigé déjà <3



0
votes

Utiliser [Maxlength] et [Minlength] est un fichier composant.html pour vérifier la longueur.

et pour la vérification du numéro et de la lettre dans le fichier TS, utilisez ^ \ d {2} [a-za-z] {3} $ ceci regex.


1 commentaires

Bon début, mais écrivez le code actuel pour plus de votes.



0
votes

Vous devez utiliser split () et filtre () comme: xxx


0 commentaires

1
votes

Plutôt que de courir plusieurs regex sur la même chaîne et de créer des tableaux de jeton. Vous devriez être capable de faire une simple validation de fonctions avec une seule regex et un test () code>. Par exemple:

p>

function validate(string) {
  // two letters or three numbers
  return /^([a-zA-Z]{2}|[0-9]{3})$/.test(string)
}


console.log(validate("Aa"))   // true
console.log(validate("Aaa"))  // false
console.log(validate("120"))  // true
console.log(validate("1090")) // false
console.log(validate("1"))    // false
console.log(validate(""))     // false
console.log(validate("A3"))   // false


0 commentaires

0
votes

Votre bloc JavaScript nécessitait quelques modifications. Donnez ceci un coup:

if (test3.match(/([A-z])/g).length === 2 && (test3.match(/([0-9])/g).length === 3)) {
    alert('correct');
} else {
    alert('only can input 2 letters plus 3 numbers');
}


1 commentaires

@Seekerjackson GLHF :)



0
votes

Vous pouvez le faire comme ça!

xxx


0 commentaires

0
votes

Ajoutez votre fonction de checknumber comme ci-dessous le code à l'intérieur de la touche d'entrée

<input type="text" name="test3" [(ngModel)]="test3"  (keypress)="checkNumber3(test3)"
onkeyup="this.value=this.value.replace(/[^\a-\z\A-\Z0-9]/g,'');">
<button (click)="checkNumber3(test3)">submit</button>


0 commentaires

0
votes

Vérifiez-le d'ici pour Editeur en ligne Angular 6 :

Stackblitz


0 commentaires