2

我在 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;
        }}
    }
4

3 回答 3

6

你可以使用正则表达式。由于点 (.) 在正则表达式中具有特殊含义,因此您需要在前面加上“转义”字符:yourString.search(/\./); 应该可以。HTH FTQuest

于 2011-01-01T17:40:02.563 回答
2

search() 接受一个模式,并且.仅表示“单个字符”,因此它可能返回第一个单个字符,该字符很可能位于索引 0 处。

你可以试试search("\.")

于 2011-01-01T16:25:52.910 回答
0

我尝试使用 search(/[.]/) 并且它在 javascript 中运行良好,我认为它会在 as3 中以相同的模式运行

于 2017-05-13T22:57:07.870 回答