JavaScript - Regular Expression In Javascript For Validation
Similar TutorialsI'm trying to find a regular expression that will reject leading zeroes in a price unless the zero is the only digit before the decimal. So it will accept 0.03 but not 00.03 or 01.03. This is the best price validation I've been able to find so far /^\d+\.\d{2}$/ How do I modify it? Also, how do I use regex replace to trim all leading zeroes from a price except for the the one next to the decimal? Hi. I am trying to validate my form, but I am having two different problems. First, I have three different textboxes for my phone number input. When I click submit button after I just put area code in the first textbox, the error message is not displaying. The error message supposed to be there until I fill up all three textboxes. Here is my code in the js file. I guess I need to code for all of three in one if statement rather than one of each? If that is what I need to do....I not sure how.. Code: var textBoxthree = document.getElementById("third"); var textLengththree = textBoxthree.value.length; if (document.forms[0].PhoneC.value == ""||textLengththree<4){ document.getElementById('E_Phone').style.display="inline"; document.forms[0].PhoneC.focus(); document.forms[0].PhoneC.style.backgroundColor="lemonchiffon" blnError = true; } else{ document.getElementById('E_Phone').style.display="none"; document.forms[0].PhoneC.style.backgroundColor="white" } var textBoxtwo = document.getElementById("second"); var textLengthtwo = textBoxtwo.value.length; if (document.forms[0].PhoneB.value == ""||textLengthtwo<3){ document.getElementById('E_Phone').style.display="inline"; document.forms[0].PhoneB.focus(); document.forms[0].PhoneB.style.backgroundColor="lemonchiffon" blnError = true; } else{ document.getElementById('E_Phone').style.display="none"; document.forms[0].PhoneB.style.backgroundColor="white" } var textBoxone = document.getElementById("first"); var textLengthone = textBoxone.value.length; if (document.forms[0].PhoneA.value == ""||textLengthone <3){ document.getElementById('E_Phone').style.display="inline"; document.forms[0].PhoneA.focus(); document.forms[0].PhoneA.style.backgroundColor="lemonchiffon" blnError = true; } else{ document.getElementById('E_Phone').style.display="none"; document.forms[0].PhoneA.style.backgroundColor="white" } I also tried to validate my zip code. It needs to be 5 or 9 numbers. in my js file, I have Code: var regPostalCode = new RegExp("^\\d{5}(-\\d{4})?$"); var postal_code = $("input[name='Zip']").val(); if (document.forms[0].Zip.value == ""||regPostalCode.test(postal_code) == false){ document.getElementById('E_Zip').style.display="inline"; document.forms[0].Zip.focus(); document.forms[0].Zip.style.backgroundColor="lemonchiffon" blnError = true; } else{ document.getElementById('E_Zip').style.display="none"; document.forms[0].Zip.style.backgroundColor="white" } When I click my submit button, it is not showing error message and change to result page. without those two variable statement, it stays and shows error message, but not validating number count. Also, all of those codes are under validation() function which work when I click submit button. Hi i am using this form to validate my input Code: function validateForm() { var name = document.getElementById("name"); var descp = document.getElementById("descp"); var language = document.getElementById("language"); var txtFileName = document.getElementById("txtFileName"); var alphaNumExp = /^[a-zA-Z0-9 _-]+$/; var isValid = true; if ((name.value === "" || name.value.length < 1 || name.value.length > 30) && !name.value.match(alphaNumExp)) { isValid = false; } if ((descp.value === "" || descp.value.length < 1 || descp.value.length > 1000) && !descp.value.match(alphaNumExp)) { isValid = false; } if (language.value === "") { isValid = false; } if (txtFileName.value === "") { isValid = false; } document.getElementById("btnSubmit").disabled = !isValid; } for a form. It checks everything else correctly EXCEPT for the alpha numeric part. Any ideas?? I am new to JS writing on my own(just was using other's scripts) Hi, Does anyone know how to make a javascript regex ignore new lines? I have this Code: html = html.replace(/<!--(.*?)-->/gi, ''); // HTML comments which matches single line comments like - Code: <!-- this is a comment --> but not this - Code: <!-- This is a comment on multiple lines --> I think the answer lies with [\s\S] but I can't get it to work e.g. - Code: html = html.replace(/<!--(.*[\s\S]?)-->/gi, ''); // HTML comments Any help will be greatly appreciated Cheers Al for the character classes [ ] , if i want to match ,.[] i cannot put them into the square brackets so how to deal with that? what if the characters are . or ! or ." (<-- combined) it fails if the regexp is [.!(.")] which will treat ( as one of the element. also the book javascript: the definitive guide says that (?=p) requires that the following characters match the pattern p, but do not include those characters in the match. However, the browser failed to figure this out (IE8) i.e. "asd:ert".match(/(?=\\w/) returns null thx in advance I have the following regular expression to test the validity of an input date: Code: ([0-9][0-9]|[0-9])[\s/-]([0-9][0-9]|[0-9])[\s/-]([0-9][0-9][0-9][0-9]|[0-9][0-9]) It should allow 1 or two digits for the day of the month, then a separating character (" ", "/" or "-"), then 1 or two digits for the month, then 2 or 4 digits for the year. Unfortunately it will accept anything above 2 digits for the year, which I understand why is happening but don't know how to fix! Can anyone help? Thanks! Dear experts I have following codes Var re=/(\d){4}-(\d){7}/; When I test this string 0300-685706263 It says TRUE But I validate this string exactly 0300-6857062 Please help Hello, How can i validate string with alphanumeric, space, dash and dot in regular expression ? can anyone explain me in detail what this regular expression mean... each and every part of this sentence: var baseRegex = new RegExp("^(?=.{6,})(?=.*^[A-Za-z]([a-zA-Z0-9_-]+)$)(?=.*[A-Z])"); Hi, Can someone fix the following regular expression? It is validating every thing expect YEAR. It only matches first 2 digits for year instead of 4. I want it to be 4 digits for a year. It returns true if I put 12/25/19.I want it to return false for the above date. Code: var RegExPattern = /^(?=\d)(?:(?:(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})|(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))|(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2}))($|\ (?=\d)))?(((0?[1-9]|1[012])(:[0-5]\d){0,2}(\ [AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2})?$/; Thanks I am trying to find the correct regular expression (or an alternate) for if a user enter any more than 1-3 digits in the age field of a form it produces an error message. I already have the error set up, just the correct coding to produce the 1-3 digit condition. Thanks, KWIKCUCUMBER. I want to validate a form with only numbers and "$" sign. so far i know this Code: currencyValue = which.value; var re = /^[0-9]*$/; if (!re.test(currencyValue)) { alert("Value must be all numberic charcters, non numeric's removed from field!"); field.value = field.value.replace(/D/g,""); } but how do I also add the "$" sign as ok? Hi all, I have this line (part of a larger function that converts a few common BBCodes into HTML) and I don't know how to do one thing. First, here's the line: Code: str.replace(/\[color=(.*?)\](.*?)\[\/color\]/gi,'<span style="color:$1;">$2</span>'); It works fine if I do this (I'll mis-spell "color" to prevent messing up the board): THIS works fine..... [colur=#ff0000]Red Text[/colur] But of course, if I do this: [colur="#ff0000"]Red Text[/colur] It doesn't work. What I need to do is take the $1 variable, AFTER it's captured, but BEFORE it's used, and strip out any quote marks I find. I may want to also strip out, then add the hash sign (#) also, then put it back so it works with or without the #. While I'm at it, I'll also probably detect color as a hex string vs. a keyword (so that both "#ff0000" and "red" work) and probably also support the rgb() method. But first I need to know how to access and modify $1 BEFORE it's used. I'm hoping that I don't need to use two lines (or two separate .replace() calls). Thanks! -- Roger I want to find in all occurrences of #(...) in a string (what is between the parentheses is unknown. At the moment I have Code: str.match(/#\(.*\)/) The problem is, I want to be able to have multiple of these in one string, like "#(hello) good #(world)", but RegExp takes me from the first '#', to the last ')'. I want to allow nested parentheses, so I am thinking that there should be away to not let it look past the second '#'. How would I do this? The following code removes the brackets and a dash from the string variable. I am interested why there are \ in front of each bracket in the regular expression regexp? The code work fine if regexp would be /()-/g; So why then / is necessary? I would appreciate a lot with someone could explain. Thank you very much. <html> <head> <title>Regular Expressions</title> <script type="text/javascript"> var string="(304)434-5454"; regexp=/[\(\)-]/g; document.write(string.replace(regexp, "")); </script> </head> <body> </body> </html> I'm trying to convert a line using a regular expression. The re I am using is this: <div><span>·<span>[\s*]<\/span><\/span>([^<]*)<\/div> I'm using the expression in the replace function like this: html = html.replace( /<div><span>·<span>[\s*]<\/span><\/span>([^<]*)<\/div>/gi,'<li>$1</li>') ; the line of code I am changing is like this: <div><span>·<span> </span></span>Illness - where a pupil is too ill to leave the house</div> eg it should strip out the code and leave <li>Illness - where a pupil is too ill to leave the house</li> it works fine here http://www.regular-expressions.info/...ptexample.html but when used with the replace command it does not? Can anyone see the problem? (I'm trying to convert bullet points from word) Darren Hi all, As I scan each line of data that was entered into a textarea box, I need to call a function once I come across a line that starts with the following: Code: "0 B3C 0020365077 0045740301 3 09FEB2008 09MAR2010 " (without quotes) I have created the following legend to help with the creating a regular expression that will validate when I have found a line that needs further processing: N - number L - letter A - letter or number S - space So using the above legend, the first 51 characters of the line that I need to validate should always be in the following format: Code: "NSAAASSAAAAAAAAAASNNNNNNNNNNSASNNLLLNNNNSNNLLLNNNNS" (once again, without the quotes) I have been reading a few articles on JavaScript regular expressions but am a bit lost at this point as how to start? Im sorry im tired and cant think how to put this. how do i make \\1 and \\2 = margin-bottom[^;]+); and margin-top[^;]+); Sorry again, Regards. Code: var regep = /margin-bottom:([^;]+); margin-left:0px; margin-right:0px; margin-top:([^;]+);/; elementCSS = elementCSS.replace( regep , "margin-bottom:\\1; margin-left:auto; margin-right:auto; margin-top:\\2;"); Hi guys, May i know how to write this string (1,2,4-6,9,11-13,20) in regular expression? Restrictions:- 1) Only numbers, comma and hyphen are allowed 2) no spaces are allowed Thanks much! I have a function that changes the label on a set of labels with similar "for" fields. Somehow, the matching is only matching every other label. I suspect I must be missing something obvious. The goal is to change the text of a set of radio buttons to either "top" and "bottom" or "left" and "right" depending on orientation. Code: function ChangeLabels(orientation) { var lefttop = "Left"; var bottomright = "Right"; var lbls = document.getElementsByTagName("label"); var lefttopregex = new RegExp ("Field6_[0-9]+", "gi"); var bottomrightregex = new RegExp ("Field20_","gi"); if (orientation == "Vertical") { lefttop = "Top"; bottomright = "Bottom"; } var forvalue = ""; for (var i=0,k=lbls.length; i<k; i++) { forvalue = lbls[i].htmlFor; if (lefttopregex.test(forvalue)) { lbls[i].innerHTML = lefttop; } if (bottomrightregex.test(forvalue)) { lbls[i].innerHTML = bottomright; } } } And here is the HTML of the labels. Code: <li id="fo1li6" class=" "> <label class="desc" id="title6" for="Field6_0"> Left/Top <span id="req_6" class="req">*</span> </label> <div> <input id="radioDefault_6" name="Field6" type="hidden" value="" /> <span> <input id="Field6_0" name="Field6" type="radio" class="field radio" value="Dogs" tabindex="20" onchange="handleInput(this);" checked="checked" /> <label class="choice" for="Field6_0" > Dogs</label> </span> <span> <input id="Field6_1" name="Field6" type="radio" class="field radio" value="Pineapple" tabindex="21" onchange="handleInput(this);" /> <label class="choice" for="Field6_1" > Pineapple</label> </span> <span> <input id="Field6_2" name="Field6" type="radio" class="field radio" value="Leaves" tabindex="22" onchange="handleInput(this);" /> <label class="choice" for="Field6_2" > Leaves</label> </span> <span> <input id="Field6_3" name="Field6" type="radio" class="field radio" value="Cat" tabindex="23" onchange="handleInput(this);" /> <label class="choice" for="Field6_3" > Cat</label> </span> <span> <input id="Field6_4" name="Field6" type="radio" class="field radio" value="Star" tabindex="24" onchange="handleInput(this);" /> <label class="choice" for="Field6_4" > Star</label> </span> <span> <input id="Field6_5" name="Field6" type="radio" class="field radio" value="Bamboo & Sun" tabindex="25" onchange="handleInput(this);" /> <label class="choice" for="Field6_5" > Bamboo & Sun</label> </span> <span> <input id="Field6_6" name="Field6" type="radio" class="field radio" value="Bamboo" tabindex="26" onchange="handleInput(this);" /> <label class="choice" for="Field6_6" > Bamboo</label> </span> <span> <input id="Field6_7" name="Field6" type="radio" class="field radio" value="Sun & Moon" tabindex="27" onchange="handleInput(this);" /> <label class="choice" for="Field6_7" > Sun & Moon</label> </span> <span> <input id="Field6_8" name="Field6" type="radio" class="field radio" value="Fleur de lis" tabindex="28" onchange="handleInput(this);" /> <label class="choice" for="Field6_8" > Fleur de lis</label> </span> <span> <input id="Field6_9" name="Field6" type="radio" class="field radio" value="Dragonflies" tabindex="29" onchange="handleInput(this);" /> <label class="choice" for="Field6_9" > Dragonflies</label> </span> <span> <input id="Field6_10" name="Field6" type="radio" class="field radio" value="No Design" tabindex="30" onchange="handleInput(this);" /> <label class="choice" for="Field6_10" > No Design</label> </span> </div> </li> |