RegEx Question
Jun 15, 2006Trying to match the entire following object literal code using a RegEx.
var Punctuators = { '{' : 'LeftCurly', '}' : 'RightCurly' }
Variations on the idea of using /var.*{.*}/ of course stops at the
first }.
Trying to match the entire following object literal code using a RegEx.
var Punctuators = { '{' : 'LeftCurly', '}' : 'RightCurly' }
Variations on the idea of using /var.*{.*}/ of course stops at the
first }.
I have a function which validates the password if there is a number:
-------------------------------------------------
function findNumeric(str_obj){
regEx = /d/;
if (str_obj.match(regEx))
return true;
else
return false;
}
--------------------------------------------------
The problem arises when I put a password with a space in between e.g:
'test test1'. The fucntion returns false. I've tried 's' in the
regEx but the user can put the space anywhere..
Any idea how to solve this problem as I should be able to put any
alplanumeric value into the password, including space.
I have a variable named "acct". I first want to remove any "-" characters
from it's value. After this I want to verify that we have only exactly 12
digits in the variable.
Unfortunately I'm pretty green as far as using RegEx.
/d{12}/.test(acct); should do the second part, but how do I do the first?
Basically i want to get the current url, and then replace http:// with
something else.
Here is the current code.
var current_url = window.document.location;
var re = new RegExp("http://", "g");
if(re.test(current_url)) {
me = current_url.replace(re,"http://www.addme.com/");
window.alert("found :: " + me + " :: " + current_url);
} else {
window.alert("not");}
if my page was http://ww.google.com 'd get the alert to be:
found :: undefined :: http://www.google.com.
I dont understand why i am getting undefined. When re.test() works.
surely that means the regex is correct.
I was using the following code:
element.value = element.value.replace(/ /g,'');
to remove all the spaces in a string.
However in IE6 it complained with and "Expected ')'" error.
How can I tell IE6 to replace just spaces (i.e. not using s)?
I tried / / and /[ ]/ but neither of them worked either.
I need to strip everything from a file except what is between <body>
and </body>
ok heres a regex
/^(?=.*d)(?=.*[A-Z])(?=.*[a-z]).{8,16}$/
which checks I have at least one lowercase letter, one uppercase letter and one number and the string is between 8 and 16 characters.I have adapted this from another source and it works as intended on all browsers but not IE7 or IE6 (oh microsoft why do you make my life so hard)This works fine in all other browsers (IE8 is fine) but doesnt work in IE6 or IE7
I'm writing an ECMAScript tokeniser and parser and trying to find out if I can eliminate the switching from tokenising "/" as start of regex or the division operator depending on the parser feedback - essentially, if I can make the tokeniser independent of the parser. (I have a gut feeling this needs too much special casing to be worth it). Code:
View 2 Replies View RelatedI have been playing with this regex for a few hours now I want to make it so it accepts commas also.
At the moment it works with A-z and - . ' but can't seem to figure out how to include commas.
I have a bunch of text that I want to split into an array of sentences. I have the following code that works just fine on FF and Chromium, but ofc has to fail on the pile of *** that is IE [code]...
It does not produce any errors, but the resulting array often has empty strings as value instead of the sentences that should be there. how to do this in a way it also works on IE?
i have the following regex:
(s*{s*(<?)s*(>?)s*}s*)
this needs to be able to match a string and make the following replacements:
if the string matches without < or >, replace the match with a space, a replacement string, and another space. if < matches also, do not add the left space. if > matches, do not add the right space. if < and > match, do not add the beginning or ending space
Old {} String => Old Replacement String
Old {<} String => OldReplacement String
Old {>} String => Old ReplacementString
Old {<>} String => OldReplacementString
this will have to be done a LOT of times, so efficiency is very important the answer in php is below. can anyone help me figure out how to do it in javascript? PHP Code:
In have a string of data like so:
<div id="feedback">
<p>[DEC 12th Anthony]I like it[DEC 12th Anthony]I agree</p>
</div>
I'm trying to use regex to add a <br /> before each item in hard brackets so the comments are broken out. Here's what I've tried.
re = /(.*])/gi;
vTemp = aSourceObject.innerHTML.replace(re,"<br />$1");
What I end up getting is:
<div id="feedback">
<p><br />[DEC 12th Anthony]I like it[DEC 12th Anthony]I agree</p>
</div>
It gets it right, but only for the first item, not the second one. If I tell it to put the <br /> after then I get
<p>[DEC 12th Anthony]I like it[DEC 12th Anthony]<br />I agree</p>
So its like its reading the entire section in brackets as one match instead of 2 seperate matches..
I need information about javascript & regular expression.please suugest me any book or tutorial web site.
View 2 Replies View RelatedHow would I get this variable to allow whitespace?
var illegalChars = /W/; // allow letters, numbers, and underscores
I need to write a function that will remove a specified parameter from a
URL. For example:
removeParam("param1", "http://mysite.com/mypage.htm?param1=1¶m2=2");
would return:
"http://mysite.com/mypage.htm?param2=2"
I'm thinking that string.replace(/regex/, ""); would do the trick, but how
do I construct a correct regex?
I see a problem if the parameter name ("param1") happens to contain any
characters that have a special meaning in a regular expression.
I don't know where the actual issue is, but hopefully someone can explain.
The following displays "5" in FireFox, but "3" in IE:
<script type="text/javascript" language="javascript">
var newString = ",a,b,c,";
var treeArray = newString.split(/,/i);
alert(treeArray.length);
</script>
I have a string I have to parse
AB1.2CD34
I need to split the string into groups of letters and numbers..
"AB" "1.2" "CD" "34"
What is the best way of doing this ?
I've looked at string.split using a regex, but that doesn't output the
delimiters.
I am trying to write a regex that will parse BBcode into HTML using
JavaScript. Everything was going smoothly using the string class
replace() operator with regex's until I got to the list tag.
Implementing the list tag itself was fairly easy. What was not was
trying to handle the list items. For some reason, in BBcode, they
didn't bother defining an end tag for a list item. I guess that they
designed it with bad old HTML 3.2 in mind where you could make a list
by using:
<ul>
<li>item 1
<li>item2
</ul>
However, I need to make this XHTML compliant, so I needed to add the
</li> tag into the mix. Unfortunately, the only way to find where to
put it is to find the next[*] (<li>) tag or an open list (in the case
of nested lists) or close list tag. I was trying to get a rule that
handles the list items to work, but it only matches the first item in
any list. Here is the line of code:
bbcode =
bbcode.replace(/[list(=1|=a|)](.*?)[*](.*?)([*]|[list]|[/list])/g,
'[list$1]$2<li>$3</li>$4');
First, I check to make sure that the list item is inside a list. Then,
I match the[*] tag to find the start of the item, then I match either
the next[*],, orto determine the end of the item.
This successfully prevents a list item outside of a list from being
made into a <li> element, but only matches the first list item in a
list. Is there any way to make this match all occurances of this
pattern without looping over the statement until the pattern can no
longer be found?
I am trying to parse a HTML page and want to replace the input element The following code fails all the time.
var ex = "<input type="hidden" name="__VIEWSTATE"
id="__VIEWSTATE"
value="/wEPDwULLTE2NjEyNTI0MThkGAEFEHNlY3Rpb25zR3JpZFZpZXc PZ2QN271==
/>";
var regEx = new RegExp("<s*input[^>]*>(.*?)s*/");
if (ex.match( regEx))
{
alert('match');
}
else
{
alert ('no match');
}
I have been working on this for a few hours and am frustrated
beyond all extent. I have tried to research this on the web as well
with no success. I am trying to match certain contents within a
wrapper div. So for example if the inside of the wrapper div was the
following:
<div id="wrapper">
<a href="#">a great link that contain text and symbols</a>
<div... </div>
<div... </div>
</div>
I would like to strip out all the internal div's. But because there
can be alot of internal div's, I figured it would be less processor
intensive to just match the first 'a' tag and repopulate the wrapper
div with the match. I am trying to use something like the following
regex:
re = /^<a(.+)</a>/;
with the following statment:
$temp = document.getElementById('wrapper').innerHTML.match (re);
but this is returning the entire contents of the wrapper div. I have
tried variations of the regex and either continue to get the entire
contents or null returns. Any help would greatly be appreciated.
BTW, I can't match to the first because the contents may be touching (ie ...</a><div>...).
I'm trying to test if certain radio buttons are selected, but the name varies. My boss is considering changing the names to further isolate them breaking the script as it works now. I'm trying to figure out how to test the new case just like it works now. Here's a link to my pastebin
View 6 Replies View RelatedInternet Explorer 8 does not behave the same as Firefox and Chrome for regex exec() method in javascript. IE8 seems not to comply with ECMA-262 here, as the others do. Regex's match() method works OK for all.
Any ideas on how to work around to use exec() with IE8?
Here is the sample code to show the issue:
Results:
IE8: withMatch=images/ withExec=null
Firefox and Chrome withMatch=images/withExec=images/
I am willing to know how to match a website s title using regex.
View 4 Replies View RelatedI need to cut up paragraphs into their constituent sentences. I also want to calculate with abreviations and decimals containing dots in the middle of the sentences.
My simplistic definition: A sentence starts with a capital letter, finishes with (.?!) followed by a space and the capital letter of the next sentence, plus something that is NOT (.?!) I came up with the following negative look- ahead solution that works on decimals, but fails on abreviations.
[A-Z]((?![.?!]s+[A-Z][^.?!]).)+
The negative look-ahead should fail - and come back with true- till it arrives at the sentence ending position in my definition, but it doesn't..
Example: Just after daybreak in Nags Head on the Outer Banks, about 200 miles northeast of Jacksonville, winds 85.43 miles / hour whipped heavy rain across the resort town. Tall waves covered what had been the beach, and the surf pushed as high as the backs of some of the N.Y. dt. houses and hotels fronting the strand. Lights flickered in one hotel, but the power was still on.
How do I add blank space as acceptable in this expression?
//checks for numbers, - or space only
function checkPhone(frm,fld){
obj = eval("window.document."+frm+"."+fld);
tstval = obj.value;
re = /^[0-9-]+$/;
if(!tstval.match(re)) {
alert("Numbers or dashes only please.");
obj.focus();
return false; }
else { return true; }
}
I have a little Ajax script and I'm trying to remove some CSS elements from a DIV tag and I'm have a bit of trouble with the Regex. Right now I'm trying to remove the z-index attribute. It can look something like any of these:
z-index: 1000;
z-index: 0;
z-index: 75;
etc...
Here's what I'm using right now:
document.getElementById('right_column').innerHTML.replace(/z-index: [0-9]; /gi, "replaced"));
It replaces z-index: 0; just fine but I can't find the correct modifiers to make it work for 2, 3 or 4 digit z-indexes.