Vérification balise html en javascript avec des regex
Résolu
julienbasse
Messages postés
41
Date d'inscription
Statut
Membre
Dernière intervention
-
julienbasse Messages postés 41 Date d'inscription Statut Membre Dernière intervention -
julienbasse Messages postés 41 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je souhaite actuellement faire une petite vérification d'un formulaire ou l'on doit copier le code d'intégration d'une vidéo, n'étant pas très à l'aise avec les expressions régulières j'ai fais quelques recherches et quelques essais peu concluants ... donc je viens poser mon dilemme en espérant obtenir une petite réponse.
la valeur doit donc commencer par "<iframe" et doit être suivie par plusieurs autres caractères alphanumériques, peu importe le nombre jusqu'a la fin.
j'ai tenté ceci :
ou
mais bon ça ne marche pas.
j'espère obtenir de l'aide, merci par avance,
julien.
je souhaite actuellement faire une petite vérification d'un formulaire ou l'on doit copier le code d'intégration d'une vidéo, n'étant pas très à l'aise avec les expressions régulières j'ai fais quelques recherches et quelques essais peu concluants ... donc je viens poser mon dilemme en espérant obtenir une petite réponse.
la valeur doit donc commencer par "<iframe" et doit être suivie par plusieurs autres caractères alphanumériques, peu importe le nombre jusqu'a la fin.
j'ai tenté ceci :
if(document.formulaire.urlVidéo.value.search(/^<[iframe]+(.)$/) == -1){ ... }
ou
if(document.coucouv.url.value.search(/^<[iframe]+(.+)?$/) == -1){ ... }
mais bon ça ne marche pas.
j'espère obtenir de l'aide, merci par avance,
julien.
A voir également:
- Vérification balise html en javascript avec des regex
- Editeur html - Télécharger - HTML
- Sms tiktok verification code ✓ - Forum Mail
- Verification lien internet - Guide
- A javascript error occurred in the main process - Forum Matériel & Système
- Verification windows 11 - Guide
4 réponses
Bonjour,
[abc] signifie a ou b ou c. Toi tu voudrais plutôt la chaîne complète iframe. Du coup, pas besoin de t'embêter, mets juste iframe.
< est potentiellement un caractère réservé, cela dépend des langages, en JS je ne l'ai pas en tête. À vérifier.
Ensuite, le « + » derrière iframe signifie « 1 ou plusieurs fois », alors qu'une seule fois est ce que tu recherches.
Je rajoute également un i à la fin pour indiquer que l'expression rationnelle est insensible à la casse (donc iFrame, IFRAME ou iframe fonctionneront)
Essaie donc ça :
ou ça, si le premier ne marche pas :
Xavier
[abc] signifie a ou b ou c. Toi tu voudrais plutôt la chaîne complète iframe. Du coup, pas besoin de t'embêter, mets juste iframe.
< est potentiellement un caractère réservé, cela dépend des langages, en JS je ne l'ai pas en tête. À vérifier.
Ensuite, le « + » derrière iframe signifie « 1 ou plusieurs fois », alors qu'une seule fois est ce que tu recherches.
Je rajoute également un i à la fin pour indiquer que l'expression rationnelle est insensible à la casse (donc iFrame, IFRAME ou iframe fonctionneront)
Essaie donc ça :
(/^<iframe.*$/i)
ou ça, si le premier ne marche pas :
(/^\<iframe.*$/i)
Xavier
bonjour, j'ai testé mais ça n'a pas marché peut être que le chevron pose problème, j'ai essayé de mettre un "." devant ça n'a pas marché non plus merci de votre aide en tout cas !
en fait, je demande dans mon formulaire à copier le code d'intégration de la vidéo Youtube si elle est bonne, la bordure de l'input devra être verte sinon, elle sera noire et pour l'instant elle ressort noire.
Merci pour l'aide en tout cas
fonction :
Encore merci pour l'aide !
Merci pour l'aide en tout cas
fonction :
function verifurlv() { if(document.coucou.url.value == ""){ document.coucouv.url.style.border = "solid 2px black"; }else{ if(document.coucouv.url.value.search(/^<iframe.*$/i) == -1) { document.coucouv.url.focus(); document.coucouv.url.style.border = "solid 2px black"; return false; } else { document.coucouv.url.style.border = "solid 2px lightgreen"; return true; } } }
Encore merci pour l'aide !
Si tu n'es pas trop regardant sur le contenu de la balise en elle-même, tu peux faire quelque chose dans ce genre : /^<iframe[^>]*>.+<\/iframe>$/
Ça te permet de vérifier que la chaine commence bien par <iframe> (avec eventuellement des attributs), qu'elle termine bien par </iframe>, et qu'il y a quelque chose entre les deux.
Ça te permet de vérifier que la chaine commence bien par <iframe> (avec eventuellement des attributs), qu'elle termine bien par </iframe>, et qu'il y a quelque chose entre les deux.
en fait voici la fonction ;
en fait, je demande dans mon formulaire à copier le code d'intégration de la vidéo Youtube si elle est bonne, la bordure de l'input devra être verte sinon, elle sera noire et pour l'instant elle ressort noire.
Merci pour l'aide en tout cas
function verifurlv() { if(document.coucou.url.value == ""){ document.coucouv.url.style.border = "solid 2px black"; }else{ if(document.coucouv.url.value.search( /^<iframe[^>]*>.+<\/iframe>$/ ) == -1) { document.coucouv.url.focus(); document.coucouv.url.style.border = "solid 2px black"; return false; } else { document.coucouv.url.style.border = "solid 2px lightgreen"; return true; } } }
en fait, je demande dans mon formulaire à copier le code d'intégration de la vidéo Youtube si elle est bonne, la bordure de l'input devra être verte sinon, elle sera noire et pour l'instant elle ressort noire.
Merci pour l'aide en tout cas