Code Library
Home Submit Free Hosting Link To Us Contacts

JavaScript Regular Expression Filter

JavaScript Regular Expression Filter JavaScript JavaScript Regular Expression Filter Download (.zip)



<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>

<script type="text/Javascript">
//<![CDATA[

if (/Mozilla\/5\.0/.test(navigator.userAgent))
        document.write('<script type="text/javascript" src="../../dhtml/mozInnerHTML/mozInnerHTML.js"></sc' + 'ript>');

/* Global variable */

var a = new Array(4)
var v_foundarray =  new Array(4)

function filldata()
{

        /* Initialize variables */

        var j = 0
        var strHTML = " "

        var v_filterops =   new Array() 
        var myVar = "<table border='1'>"

        /* Initialize two dimension array */

        for (var i=0; i < 4; i++) {
           a[i] = new Array(4)
           v_foundarray[i] = new Array(4)
        }



        /* Heading */

        v_foundarray[0][0] = "Row"
        v_foundarray[0][1] = "String"
        v_foundarray[0][2] = "Number"
        v_foundarray[0][3] = "Date"

        a[0][0] = "Row"
        a[0][1] = "String"
        a[0][2] = "Number"
        a[0][3] = "Date"

        /* Row 1 Data  */

        a[1][0] = "1"
        a[1][1] = "Satyan"
        a[1][2] = "1234"
        a[1][3] = "3/4/99"

        /* Row 2 Data  */        

        a[2][0] = "2"
        a[2][1] = "Manish"
        a[2][2] = "9012"
        a[2][3] = "5/6/99"

        /* Row 3 Data */

        a[3][0] = "3"
        a[3][1] = "Filter"
        a[3][2] = "4556"
        a[3][3] = "8/7/99"

        for (var i=0; i < 4; i++) {
           var str = "<tr>"
           for (var j=0; j < 4; j++) {
                if (i == 0 ) 
                 v_filterops[j] = new Option(a[i][j],j) 
                      str += "<td>" + a[i][j] + "</td>"
           }
           myVar += str + "</tr>"
        }

        document.getElementById("vals").innerHTML = myVar + "</table>";
        for ( var i=0; i<v_filterops.length;i++)
                document.getElementById("field").options[i] = new Option(v_filterops[i].text,v_filterops[i].value);
}

function filter()

        
        var el  = document.getElementById("inpREGEXP").value
        var v_heading = document.getElementById("field").value
        var myVar = "<table border='1'>"
        var found_cntr = 0
        
        var v_regexp = new RegExp(el,"gi")

        switch (v_heading) {
          case "0": /* ROWID */
                        var j=1
                        for (var i=1;i<4;i++) {
                                if ( v_regexp.test(a[i][0]) ) 
                                {
                                   v_foundarray[j] = a[i]
                                   j++
                                   found_cntr++
                                }        
                        }
                break;
          case "1": /* STRING */ 
                        var j=1
                        for (var i=1;i<4;i++) {
                                if ( v_regexp.test(a[i][1]) ) 
                                {                
                                   v_foundarray[j] = a[i]
                                   j++
                                   found_cntr++
                                }        
                        }
                break;
          case "2": /* NUMBER */
                        var j=1
                        for (var i=1;i<4;i++) {
                                if ( v_regexp.test(a[i][2]) ) 
                                {
                                   v_foundarray[j] = a[i]
                                   j++
                                   found_cntr++                                
                                }        
                        }
                break; 
          case "3": /* DATE */
                        var j=1
                        for (var i=1;i<4;i++) {
                                if ( v_regexp.test(a[i][3]) ) 
                                {
                                  v_foundarray[j] = a[i]
                                  j++
                                  found_cntr++
                                }        
                        }
                break;
        }
        
        for (var i=0; i <= found_cntr; i++) {
           var str = "<tr>"
           for (var j=0; j < 4; j++) {
                      str += "<td>" + v_foundarray[i][j] + "</td>"
           }
           myVar += str + "</tr>"
        }

        document.getElementById("vals").innerHTML = myVar + "</table>"
}

//]]>
</script>

</head>

<body onload="filldata()">
        FILTER ON : <select name='field'></select>&nbsp;REGULAR EXPRESSION:
        <input name="inpREGEXP" type="TEXT" />
        <input type="BUTTON" value="Filter" onclick="filter()" />
        <hr /><br />
        <div id="vals"></div>
</body>

</html>




  • JavaScriptArray Contents Filter 2 Array Contents Filter Regular Expression Filter


Tatet