2 votes

Correspondance Regex avec les URL de sites web courants

J'ai un composant que je veux utiliser pour les formulaires et c'est pour websites . Cependant, il existe plusieurs modèles possibles :

Question :

Comment puis-je définir le modèle de l'entrée pour tenir compte de ces modèles d'URL possibles ?

Composant.tsx :

<Form.Control
  type="url"
  placeholder="Website"
  pattern="https?://.*"
  onChange={(event: React.ChangeEvent<HTMLInputElement>) => setValue((event.target.value).toLowerCase())}
  maxLength={100}
/>

2voto

Roko C. Buljan Points 46488

Pour certains correspondance des URL des sites Web de base vous pourriez :

^(https?:\/\/|www\.)\S+\.\w+$

Qui correspondra :

https://www.website.com  
http://www.website.com  
http://website.com  
http://www.com           (yep, that's a valid website)
www.website.com  

mais pas

https://website
http://.com
website.com
www.com
website

"de base" en raison de la \S+ permet simplement de s'assurer que le domaine ne contient pas de caractères d'espacement.

Exemple de Regex101.com

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