Hello and welcome to our community! Is this your first visit?
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 2 of 2
  1. #1
    New Coder
    Join Date
    Jun 2002
    Thanked 0 Times in 0 Posts

    Regular Expression questions

    Here is what I am trying to do:

    I have an array of sentences. and I would like the user to be able to enter in a word which is then inserted into a regular expression to find all sentences with that word in it.

    Here is an example
    SentenceArray= new Array (
    "I have a dog",
    "dogs are good",
    "cats are bad.")

    The user then enters in the word "dog"

    the regular expression should then look like this I think:
    regexp = /dog/
    and then an if is set up like

    for (...) {
    if (regexp.test(SentenceArray[X]){
    do something

    I am not exactly sure what I am doing wrong, but I have figured out that it doesn't like "regexp.test(SentenceArray[X])" and only seems to take some kind of form element. I tried a hidden field instead and that got it to stop giving an error, but I still never get any results.

    Any help or suggestionw would be appreciated.

  2. AdSlot6
  3. #2
    Senior Coder
    Join Date
    Jun 2002
    frankfurt, german banana republic
    Thanked 0 Times in 0 Posts
    If you want to construct a Regular Expression from user input, then you'll have to use the new RegExp() constructor function to ensure runtime compilation of the newly created RegExp. See also the detailed information at

    A quick example for your code could look like

    SentenceArray= new Array (
    "I have a dog",
    "dogs are good",
    "cats are bad.")
    function matchIt(word) {
        var regex = new RegExp(word, "i");
        for (var i = 0; i < SentenceArray.length; i++) {
            if (regex.test(SentenceArray[i])) {
                alert("'" + word + "' was found in '" + SentenceArray[i] + "'");
    <form onsubmit="matchIt(this.what.value); return false;">
    what to match?
    <input type="text" name="what"></input><br>
    <input type="submit"></input>
    I hope that helps you for adjusting your code to the desired functionality. Note that I used the "i" flag to make a case-insensitive pattern matching.


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts