javascript - "undefined" values from regex exec -
i'm begginer. want put indexes of searched string (regex + exec) array after pressing "run" button. musing arr.push. have problem inside while loop - because of closures. array [undefinde, undefined.....]. string taken textarea.value
look @ jsfiddle code http://jsfiddle.net/andre81/exrqq/8/
function trimreport () { 'use strict'; var reporttxt = document.getelementbyid('raportinput'); var str = reporttxt.value; var re = /\<tr\>/gmi; var result = []; var val; var match; var div = document.getelementbyid('output'); while (match = re.exec(str)) { val = match.index; result.push(val.lastindex); div.innerhtml = div.innerhtml + val + '<br>'; //console.log(match.index); }; div.innerhtml = div.innerhtml + result + '<br>'; //console.log(result); }; //initial function: function init() { 'use strict'; if(document && document.getelementbyid) { var bttn = document.getelementbyid('run'); bttn.onclick = trimreport; } //if end //alert('inside init'); //console.log('inside init'); }//init end window.onload = init;
html code:
<div id="input"> <textarea cols="160" rows="18" id="raportinput"> <!-- imported content inside textarea --> <p><center><h1> revit coordination report </h1></center></p> <p><center><h2> in linked project </h2></center></p> <p><table border=on> <tr> <td> new/unresolved </td> <td> floor opening cut </td> <td> check whether element exists </td> <td> element deleted </td> <td> : (deleted element ) : id = -1 <br> seg06 : floor opening cut : opening cut : id 1060252 </td> <td> </td> </tr> <tr> <td> new/unresolved </td> <td> floor opening cut </td> <td> check whether element exists </td> <td> element deleted </td> <td> : (deleted element ) : id = -1 <br> seg06 : floor opening cut : opening cut : id 1060259 </td> <td> </td> </tr> <tr> <td> new/unresolved </td> <td> floor opening cut </td> <td> check whether element exists </td> <td> element deleted </td> <td> : (deleted element ) : id = -1 <br> seg06 : floor opening cut : opening cut : id 1061236 </td> <td> </td> </tr> <tr> <td> new/unresolved </td> <td> floor opening cut </td> <td> check whether element exists </td> <td> element deleted </td> <td> : (deleted element ) : id = -1 <br> seg11 : floor opening cut : opening cut : id 1549469 </td> <td> </td> </tr> <tr> <td> new/unresolved </td> <td> floors </td> <td> check whether element exists </td> <td> element deleted </td> <td> : (deleted element ) : id = -1 <br> seg11 : floors : floor : h=28cm : id 1549457 </td> <td> </td> </tr> <tr> <td> new/unresolved </td> <td> floors </td> <td> maintain floor elevations </td> <td> floor elevation changed </td> <td> p1218_wood_architektura.rvt : rvt_links : floors : floor : h=28cm : id 2367719 <br> seg08 : floors : floor : h=28cm : id 332807 </td> <td> </td> </tr> <tr> <td> new/unresolved </td> <td> floors </td> <td> maintain floor elevations </td> <td> floor elevation changed </td> <td> p1218_wood_architektura.rvt : rvt_links : floors : floor : h=28cm : id 2378060 <br> seg04 : floors : floor : h=28cm : id 997351 </td> <td> </td> </tr> <tr> <td> new/unresolved </td> <td> floors </td> <td> monitor floor sketches </td> <td> sketches different </td> <td> p1218_wood_architektura.rvt : rvt_links : floors : floor : h=28cm : id 2378060 <br> seg04 : floors : floor : h=28cm : id 997351 </td> <td> </td> </tr> <tr> <td> new/unresolved </td> <td> floors </td> <td> monitor floor sketches </td> <td> sketches different </td> <td> p1218_wood_architektura.rvt : external_walls : floors : floor : h=28cm : id 2723982 <br> seg13 : floors : floor : h=28cm : id 1775643 </td> <td> </td> </tr> <tr> <td> new/unresolved </td> <td> floors </td> <td> monitor new floor openings </td> <td> new openings detected in 'floor : h=28cm' </td> <td> p1218_wood_architektura.rvt : rvt_links : floors : floor : h=28cm : id 2378060 <br> seg04 : floors : floor : h=28cm : id 997351 <br> seg04 : floor opening cut : opening cut : id 1808079 </td> <td> </td> </tr> <tr> <td> new/unresolved </td> <td> floors </td> <td> monitor new floor openings </td> <td> new openings detected in 'floor : h=28cm' </td> <td> p1218_wood_architektura.rvt : external_walls : floors : floor : h=28cm : id 2723982 <br> seg13 : floors : floor : h=28cm : id 1775643 <br> p1218_wood_architektura.rvt : shafts : shaft openings : opening cut : id 1203484 </td> <td> </td> </tr> <tr> <td> new/unresolved </td> <td> walls </td> <td> check whether element exists </td> <td> element deleted </td> <td> p1218_wood_architektura.rvt : rvt_links : walls : basic wall : konstrukcja_wall box section_400 : id 2356962 <br> : (deleted element ) : id = 1597600 </td> <td> </td> </tr> <tr> <td> new/unresolved </td> <td> walls </td> <td> check whether element exists </td> <td> element deleted </td> <td> : (deleted element ) : id = -1 <br> seg10 : walls : basic wall : sc-300mm : id 1761197 </td> <td> </td> </tr> <tr> <td> new/unresolved </td> <td> walls </td> <td> check whether element exists </td> <td> element deleted </td> <td> : (deleted element ) : id = -1 <br> seg13 : walls : basic wall : sc-300mm : id 1773182 </td> <td> </td> </tr> <tr> <td> new/unresolved </td> <td> walls </td> <td> check whether element exists </td> <td> element deleted </td> <td> : (deleted element ) : id = -1 <br> seg13 : walls : basic wall : sc-250mm : id 1773190 </td> <td> </td> </tr> <tr> <td> new/unresolved </td> <td> walls </td> <td> check whether element exists </td> <td> element deleted </td> <td> : (deleted element ) : id = -1 <br> seg13 : walls : basic wall : sc-250mm : id 1773202 </td> <td> </td> </tr> <tr> <td> new/unresolved </td> <td> walls </td> <td> maintain wall elevation/height </td> <td> wall elevations different </td> <td> p1218_wood_architektura.rvt : internal_structural_walls : walls : basic wall : konstrukcja_sc_300 : id 1834524 <br> seg04 : walls : basic wall : sc-300mm : id 996843 </td> <td> </td> </tr> <tr> <td> new/unresolved </td> <td> walls </td> <td> monitor wall sketches </td> <td> sketches different </td> <td> p1218_wood_architektura.rvt : internal_walls : walls : basic wall : konstrukcja_sc_300 : id 2643467 <br> seg06 : walls : basic wall : sc-300mm : id 1650596 </td> <td> </td> </tr> <tr> <td> new/unresolved </td> <td> walls </td> <td> monitor wall sketches </td> <td> sketches different </td> <td> p1218_wood_architektura.rvt : internal_walls : walls : basic wall : konstrukcja_sc_250 : id 2643508 <br> seg06 : walls : basic wall : sc-250mm : id 1656518 </td> <td> </td> </tr> <tr> <td> new/unresolved </td> <td> walls </td> <td> monitor wall sketches </td> <td> sketches different </td> <td> p1218_wood_architektura.rvt : internal_walls : walls : basic wall : konstrukcja_sc_250 : id 2643510 <br> seg06 : walls : basic wall : sc-250mm : id 1657659 </td> <td> </td> </tr> <tr> <td> new/unresolved </td> <td> walls </td> <td> monitor wall sketches </td> <td> sketches different </td> <td> p1218_wood_architektura.rvt : internal_walls : walls : basic wall : konstrukcja_sc_250 : id 2643511 <br> seg06 : walls : basic wall : sc-250mm : id 1657688 </td> <td> </td> </tr> <tr> <td> new/unresolved </td> <td> walls </td> <td> monitor wall sketches </td> <td> sketch missing </td> <td> p1218_wood_architektura.rvt : internal_walls : walls : basic wall : konstrukcja_sc_250 : id 2643512 <br> seg06 : walls : basic wall : sc-250mm : id 1657947 </td> <td> </td> </tr> <tr> <td> new/unresolved </td> <td> walls </td> <td> monitor wall sketches </td> <td> sketch missing </td> <td> p1218_wood_architektura.rvt : internal_walls : walls : basic wall : konstrukcja_sc_250 : id 2643513 <br> seg06 : walls : basic wall : sc-250mm : id 1657965 </td> <td> </td> </tr> <tr> <td> new/unresolved </td> <td> walls </td> <td> monitor wall sketches </td> <td> sketches different </td> <td> p1218_wood_architektura.rvt : internal_walls : walls : basic wall : konstrukcja_sc_250 : id 2643514 <br> seg06 : walls : basic wall : sc-250mm : id 1657979 </td> <td> </td> </tr> <tr> <td> new/unresolved </td> <td> walls </td> <td> monitor wall sketches </td> <td> sketches different </td> <td> p1218_wood_architektura.rvt : internal_walls : walls : basic wall : konstrukcja_sc_250 : id 2643515 <br> seg06 : walls : basic wall : sc-250mm : id 1657989 </td> <td> </td> </tr> <tr> <td> new/unresolved </td> <td> walls </td> <td> monitor wall sketches </td> <td> sketches different </td> <td> p1218_wood_architektura.rvt : internal_walls : walls : basic wall : konstrukcja_sc_250 : id 2643516 <br> seg06 : walls : basic wall : sc-250mm : id 1657999 </td> <td> </td> </tr> <tr> <td> new/unresolved </td> <td> walls </td> <td> monitor wall sketches </td> <td> sketch missing </td> <td> p1218_wood_architektura.rvt : internal_walls : walls : basic wall : konstrukcja_sc_250 : id 2643517 <br> seg06 : walls : basic wall : sc-250mm : id 1658013 </td> <td> </td> </tr> <tr> <td> new/unresolved </td> <td> walls </td> <td> monitor wall sketches </td> <td> sketch missing </td> <td> p1218_wood_architektura.rvt : internal_walls : walls : basic wall : konstrukcja_sc_250 : id 2643518 <br> seg06 : walls : basic wall : sc-250mm : id 1658027 </td> <td> </td> </tr> <tr> <td> new/unresolved </td> <td> walls </td> <td> monitor wall sketches </td> <td> sketch missing </td> <td> p1218_wood_architektura.rvt : internal_walls : walls : basic wall : konstrukcja_sc_300 : id 2643611 <br> seg10 : walls : basic wall : sc-300mm : id 1760438 </td> <td> </td> </tr> <tr> <td> new/unresolved </td> <td> walls </td> <td> monitor wall sketches </td> <td> sketches different </td> <td> p1218_wood_architektura.rvt : external_walls : walls : basic wall : konstrukcja_sc_250 : id 2723649 <br> seg13 : walls : basic wall : sc-250mm : id 1727350 </td> <td> </td> </tr> </table> </textarea> </div> <button type="button" id="run">run</button> <div id="output"></div>
you have multiple related errors in while
loop. see documentation on regexp.exec() function see how use correctly. immediate errors are:
val
integer (i.e., "0-based index of match in string"), not object.- the
lastindex
property belongsre
object.
see link provided above example of how loop correctly.
Comments
Post a Comment