2009-10-12 10 views
0

J'ai 8 structures d'URL possibles que j'ai besoin de vérifier dans mon code javascript, puis exécutez une fonction si la page actuelle répond aux critères corrects.regex/instr Fonction javascript pour vérifier l'url

Il y a 8 variantes possibles de l'URL et tous comprendra des questions clés, de sorte que le premier chèque doit isoler et identifier si la page en cours a des « questions » le mot-clé dans sa structure: -

  1. https://meta.stackexchange.com/questions

  2. https://meta.stackexchange.com/questions/ask

  3. https://meta.stackexchange.com/questions?sort=newest

  4. https://meta.stackexchange.com/questions?sort=featured

  5. https://meta.stackexchange.com/questions?sort=active

  6. https://meta.stackexchange.com/questions?sort=votes

  7. https://meta.stackexchange.com/questions?sort=hot

  8. https://meta.stackexchange.com/questions/1308/urgent-help-needed-i-screwed-up-my-site-really-bad-my-realty-questions

Je ne suis intéressé par ce dernier (U RL structure8) qui aura toujours le mot clé 'questions' dans l'url suivi d'une barre oblique (/) puis d'un nombre de 1 à 9.

Comment puis-je écrire une fonction js instr/regex qui peut déterminer sur charger la page si l'URL de la page correspond au format de l'option 8 ci-dessus.

Espérons que quelqu'un peut vous aider!

Merci

Jonathan

Répondre

1

Essayez ceci:

var str = "http://meta.stackexchange.com/questions/1308/urgent-help-needed-i-screwed-up-my-site-really-bad-my-realty-questions"; 
var regex = /^.*questions\/\d.*$/; 
document.write(str.match(regex)); 
+0

grâce bart - qui a fonctionné comme un rêve dès la sortie de la boîte! - Merci beaucoup! –

+0

De rien Jonathan. –

1

Êtes-vous intéressé que dans urls ou le type qui contiennent des questions suivies d'une barre oblique (/), puis par un nombre quelconque ou seulement 1-9? Celui-ci correspond à un nombre

regularex= /^http:\/\/meta.stackexchange.com\/questions\/[0-9]+\/.*$/; 
check = url.match(regularex) 

//check will be null if there is no match 
+0

merci Jaes - même réponse - merci pour votre aide –

0

Je pense que vous pouvez essayer:

var str="http://meta.stackexchange.com/questions/1308/urgent-help-needed-i-screwed-up-my-site-really-bad-my-realty-questions"; 
document.write(str.search('http://meta.stackexchange.com/questions/[0-9]+')); 
Questions connexes