Regex javascript

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Zero XT

Zero XT

24/07/2009 14:33:00
Quote Anchor link
Beste mensen,

Ik wil graag een regex uitvoeren maar dan in JavaScript.

var funct = 'functie(parameter)'

if('als er parameters in de string zitten')
{
alert(de parameter van de string)
}

Hoe krijg ik het dus voor voor elkaar om uit een string te herkennen of er parameters in zitten en als die erin zitten, deze in een variable plaatsen zodat ik er mee kan werken.

En dit alles in JavaScript.
 
PHP hulp

PHP hulp

24/12/2024 00:33:02
 
Toby hinloopen

toby hinloopen

24/07/2009 14:49:00
Quote Anchor link
match't iedere geldige functienaam, inclusief functienamen in objecten.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?
function get_func_params(funct) {
  var
match = /^((?:[$a-zA-Z_][$a-zA-Z0-9_]*\.?)*)\((.+)\)$/.exec(funct);
  if (match != null && match.length > 1) {
      return match[1];
  }
else {
      return false;
  }
}

?>
Gewijzigd op 01/01/1970 01:00:00 door toby hinloopen
 
Emmanuel Delay

Emmanuel Delay

24/07/2009 18:36:00
Quote Anchor link
geef eens wat voorbeelden van wat je wil bereiken
 
Zero XT

Zero XT

24/07/2009 18:47:00
Quote Anchor link
Ik heb em even in PHP gemaakt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$var
= 'functie(parameter1, parameter2)';

preg_match_all('/\((.*?)\)/i', $var, $regex);


$regs = explode(',', $regex[1][0]);

foreach($regs as $reg)
{

    echo $reg . '<br />';
}


//Uitkomst:
#parameter1
#parameter2

?>


Nu moet dit dus in JavaScript omgezet worden. En daar loop ik op vast.
Gewijzigd op 01/01/1970 01:00:00 door Zero XT
 
Emmanuel Delay

Emmanuel Delay

24/07/2009 18:50:00
Quote Anchor link
Waar komt de tekst van daan? Is dat een controle op een text input (of textarea) of zo?

Je kan natuurlijk met Ajax een tekst naar de server sturen en daar controleren.
 
Zero XT

Zero XT

24/07/2009 19:06:00
Quote Anchor link
Nou het grappige is dat het juist voor ajax is bedoeld. Ik ben een ajax object aan maken in javascript.

Ik weet dat dit mogelijk is met javascript. Enig idee hoe?
 
Emmanuel Delay

Emmanuel Delay

24/07/2009 23:43:00
Quote Anchor link
Dit al bekeken: http://www.phphulp.nl/php/tutorials/8/666/ ?

Er staan voorbeelden van controle op text inputs.

Zeg eens waar je precies vast zit.
 
Zero XT

Zero XT

24/07/2009 23:44:00
Quote Anchor link
Ik zit vast op het punt dat ik niet weet hoe je een regex moet maken in javascript. Laat staan die resultaat in een variable zetten.

Ik zal je link even bekijken.


*edit:
Ik heb je link bekeken alleen alles wat je daar hebt zit al in mijn ajax object code. Maar dan op een geheel ander manier. Of het beter is of slechter mag je zelf bepalen want ik denk dat ik em hier ook post nadat ik dit stukje javascript erbij heb want dan is ie namelijk klaar.
Gewijzigd op 01/01/1970 01:00:00 door Zero XT
 
Emmanuel Delay

Emmanuel Delay

25/07/2009 01:25:00
Quote Anchor link
HellRazer schreef op 24.07.2009 23:44:
... Maar dan op een geheel ander manier. Of het beter is of slechter mag je zelf bepalen ...

:) Elk zijn stijl.

Trouwens, wanneer ik dat schreef, schreef ik het zo. Ondertussen weet ik meer en zou ik een aantal dingen anders hebben aangepakt. Een mens leert bij.


Nee, maar, wat ik dus voorstel, is dat je een hele tekst (bv. de value van een textarea) naar php stuurt. In php regel je de regex, want die heb je in php zelf al, en dan stuur je het resultaat op als response.

Dacht je aan iets anders?
 
Zero XT

Zero XT

25/07/2009 01:33:00
Quote Anchor link
aangezien dit stukje javascript voor een ajax object bedoeld is lijkt het me niet handig om dit via ajax door php te laten afhandelen. Ik weet dat het mogelijk is om dit te doen met JavaScript. Alleen ik moet weten hoe.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.