Sorry,there is typing mistake in my question:the returning type of 
reEmail() isn't boolean but String,and my code is:
  
         private native String reEmail()/-*{

         return 
"^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"...@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$";
    }-*/;


and it doesn't work.

    

On Thursday, November 20, 2014 3:18:32 PM UTC+8, Alex Luya wrote:
>
>  Hello:
>      Similar question has been asked here: How to pass a regular 
> expression as a function parameter 
> <http://stackoverflow.com/questions/11143702/how-to-pass-a-regular-expression-as-a-function-parameter>,
>  
> but I can't get it work by JSNI.
>
> This is the string of the regular expression that will be used to test 
> email:
>
>       
> "^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$"
>  
> <))@((%5C[[0-9]%7B1,3%7D%5C.[0-9]%7B1,3%7D%5C.[0-9]%7B1,3%7D%5C.[0-9]%7B1,3%7D%5C])%7C(([a-zA-Z%5C-0-9]+%5C.)+[a-zA-Z]%7B2,%7D))$>
>
> and if putting it to firebug execute like this:
>
>      
> /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$"
>  
> <))@((%5C[[0-9]%7B1,3%7D%5C.[0-9]%7B1,3%7D%5C.[0-9]%7B1,3%7D%5C.[0-9]%7B1,3%7D%5C])%7C(([a-zA-Z%5C-0-9]+%5C.)+[a-zA-Z]%7B2,%7D))$>/.test("t...@domain.com"
>  <t...@domain.com>)
>
> it will give what I want,but If wrapping it to a JSNI method:
>
>     private native boolean reEmail()/-*{
>          return 
> "^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$"
>  
> <))@((%5C[[0-9]%7B1,3%7D%5C.[0-9]%7B1,3%7D%5C.[0-9]%7B1,3%7D%5C.[0-9]%7B1,3%7D%5C])%7C(([a-zA-Z%5C-0-9]+%5C.)+[a-zA-Z]%7B2,%7D))$>;
>     }-*/;
>
> then passing it to the function:
>
>    private native boolean validate(String value, String regexp)/-*{
>        //escape special characters
>        var re=regexp.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g, 
> '\\$1').replace(/\x08/g, '\\x08');
>        return new RegExp(re,'g').test(value)
>    }-*/;
>
> like this:
>
>       validate("t...@domain.com" <t...@domain.com>,reEmail());
>
> It will give me false.Please tell what mistakes I have made,thanks.
>  

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

Reply via email to