Josh,

You're pretty awesome off the top of your head.  Your change works. 
Thanks a bunch.

Do you have a general statement about the difference between JS and
AS3 regular expressions by chance?


--- In [email protected], "Josh McDonald" <[EMAIL PROTECTED]> wrote:
>
> Off the top of my head:
> 
> var regex = /^true,\s*\$/;
> 
> result = regex.test(str);
> 
> On Mon, Aug 11, 2008 at 3:54 AM, jwebbsuccess <[EMAIL PROTECTED]>wrote:
> 
> > Exactly, haykelbj.  What I need help with is rewriting the regular
> > expression for the isCurrency test so that the strings "true,$" or
> > "true, $" will return true in AS3.  I'm not so hot at writing
> > regexps...  isCurrency returns true on those two strings in
> > JavaScript; I don't know why they return false in AS3.
> >
> >
> >
> > --- In [email protected], "haykelbj" <haykelbj@> wrote:
> > >
> > > The JavaScript and ActionScript codes are not doing exactly the same
> > > thing. In your AS code, at a certain point you are doing the
following
> > > assignment:
> > > _testValue = qualifier.toLowerCase()+ ",$";
> > > This will result in _testValue = "true,$" which will make the test
> > > isCurrency.test(_testValue) return false which is right because
> > > isCurrency's regex is /^, ?\$/.
> > >
> > >
> > > --- In [email protected], "jwebbsuccess" <jwebb@> wrote:
> > > >
> > > > I have a regular expression that works in JavaScript and does
not work
> > > > in ActionScript 3, even though both languages supposedly use the
> > > > ECMAScript standard for regular expressions.  I need the
expression to
> > > > return true when ever it tests the two strings below:
> > > >
> > > > true,$
> > > > true, $
> > > >
> > > > I need the expression to return false whenever the string is
not the
> > > > same as one of the two above.
> > > >
> > > > I've attached the HTML that demonstrates that the regular
expressions
> > > > work in JavaScript.  Can you modify the same expressions in
the Flex
> > > > code, provided below, to produce the same result?
> > > >
> > > > Thanks.
> > > >
> > > > ---------------------------------------------------------------
> > > > <html>
> > > > <head>
> > > > <style type="text/css">
> > > > #doc {background-color:#EFEFEF;text-align:center;}
> > > > #testBlock
> > > >
> > >
> >
{background-color:#FFFFFF;text-align:left;width:600px;height:500px;margin:
> > > > 0 auto;border:1px solid #FF9900;padding:0 20px;}
> > > > .regexp {color:#FF0000;}
> > > > .testval {color:#00CC00;}
> > > > </style>
> > > > </head>
> > > > <body id="doc">
> > > > <div id="testBlock">
> > > >   <h1 id="test1"></h1>
> > > >   <h1 id="test2"></h1>
> > > >   <h1 id="testValue"></h1>
> > > >   <p>The only two true values should be "true,$" and "true, $";
> > > > everything else should be false.</p>
> > > >   <script type="text/javascript">
> > > >
> > > >             //TEST YOUR REGULAR EXPRESSIONS HERE.
> > > >               var re1 = /^true\b(.*)$/;
> > > >               var re2 = /^, ?\$/;
> > > >               var str = "true,$";
> > > >
> > > >             //THE VALUES USED IN YOUR TESTS WILL APPEAR IN THE
PAGE...
> > > >               document.getElementById( "test1" ).innerHTML =
"Regular
> > Expression
> > > > 1: <span class='regexp'>" + re1 + "</span>";
> > > >               document.getElementById( "test2" ).innerHTML =
"Regular
> > Expression
> > > > 1: <span class='regexp'>" + re2 + "</span>";
> > > >               document.getElementById( "testValue" ).innerHTML
= "Test
> > Value:
> > > > <span class='testval'>" + str + "</span>";
> > > >
> > > >               if ( ( resultArray = re1.exec( str ) ) != null )
> > > >               {
> > > >                 alert( "Test 1 successful" );
> > > >                 if ( re2.test( resultArray[ 1 ] ) )
> > > >                 {
> > > >                     alert( "Test 2 successful" );
> > > >                 }
> > > >                     else
> > > >                     {
> > > >                             alert( "Test 2 failed" );
> > > >                     }
> > > >               }
> > > >             </script>
> > > > </div>
> > > > </body>
> > > > </html>
> > > >
> > > > ---------------------------------------------------------------
> > > >
> > > > <?xml version="1.0"?>
> > > > <!-- wrapper/GetURLInfo.mxml -->
> > > > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";
> > > > creationComplete="runRegExpTest( event )">
> > > > <mx:Script>
> > > > <![CDATA[
> > > > import mx.events.FlexEvent;
> > > > import mx.controls.Alert;
> > > >
> > > > [Bindable] private var _test1:String = "";
> > > > [Bindable] private var _test2:String = "";
> > > > [Bindable] private var _testValue:String = "";
> > > >
> > > > private function runRegExpTest( e:FlexEvent ):void
> > > > {
> > > >       var isTrue:RegExp =/^true\b(.*)$/;
> > > >       var isCurrency:RegExp =/^, ?\$/;
> > > >       var qualifier:String = "TRUE";
> > > >       _test1 = isTrue.toString();
> > > >       _test2 = isCurrency.toString();
> > > >       var msg1:String;
> > > >       var msg2:String;
> > > >
> > > >       if ( isTrue.test( qualifier.toLowerCase() ) )
> > > >       {
> > > >             _testValue = qualifier.toLowerCase()+ ",$";
> > > >             msg1 = "The qualifier is: " +
qualifier.toLowerCase() + ",
> > > > the test value is ( " + _testValue + " ) and returns: " +
> > > > isCurrency.test( _testValue ).toString();
> > > >             trace( msg1 );
> > > >             Alert.show( msg1 );
> > > >             if ( isCurrency.test( _testValue ) )
> > > >             {
> > > >                   msg2 = "The test is SUCCESSFUL!";
> > > >                   trace( msg2 );
> > > >                   Alert.show( msg2 );
> > > >             }
> > > >             else
> > > >             {
> > > >                   msg2 = "The 'isCurrency' RegExp is
UNSUCCESSFUL";
> > > >                   trace( msg2 );
> > > >                   Alert.show( msg2 );
> > > >             }
> > > >       }
> > > > }
> > > > ]]>
> > > > </mx:Script>
> > > > <mx:Form color="#FCFCFC" cornerRadius="10" borderStyle="outset"
> > > > backgroundColor="#FAF7F7">
> > > >       <mx:FormItem label="'isTrue' regular expression test:"
> > > > fontSize="18" color="#000000">
> > > >             <mx:Label text="{ _test1 }" fontSize="18"
color="#BF5100"
> > > > fontWeight="bold"/>
> > > >       </mx:FormItem>
> > > >       <mx:FormItem label="'isCurrency' regular expression test:"
> > > > fontSize="18" color="#000000">
> > > >             <mx:Label text="{ _test2 }" fontSize="18"
color="#BF5100"
> > > > fontWeight="bold"/>
> > > >       </mx:FormItem>
> > > >       <mx:FormItem label="'test value is: " fontSize="18"
> > > color="#000000">
> > > >             <mx:Label text="{ _testValue }" fontSize="18"
> > > > color="#BF5100" fontWeight="bold"/>
> > > >       </mx:FormItem>
> > > > </mx:Form>
> > > > </mx:Application>
> > > >
> > >
> >
> >
> >
> > ------------------------------------
> >
> > --
> > Flexcoders Mailing List
> > FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
> > Search Archives:
> > http://www.mail-archive.com/flexcoders%40yahoogroups.comYahoo! Groups
> > Links
> >
> >
> >
> >
> 
> 
> -- 
> "Therefore, send not to know For whom the bell tolls. It tolls for
thee."
> 
> :: Josh 'G-Funk' McDonald
> :: 0437 221 380 :: [EMAIL PROTECTED]
>


Reply via email to