string.search(".")总是返回0

1 regex apache-flex actionscript-3 flashbuilder4

我在Flash Builder 4中工作.在Flex上创建电子邮件验证器.有这个代码

    public var s:String="";

    public function checkSumbols(_s:String=""):Boolean {

        s=_s;  //e-mail address (input mail@supermail.com)

        var hDog:int=0; 
        var hPoint:int=0;
        //check @
        hDog=s.search("@");
        trace(hDog)  // It's work
        if(hDog==-1) {
            return false;
        } else {
            hPoint=s.substr(hDog).search(".");
            trace(hPoint); // PANIC this return always 0
            if(hPoint==-1){
               return false;
        }}
    }
Run Code Online (Sandbox Code Playgroud)

小智 5

你可以使用正则表达式.由于dot(.)在正则表达式中具有特殊含义,因此您需要在之前放置"escape"字符:yourString.search(/\./); 应该可以工作.HTH FTQuest