apache-flex string.search(“.”)始终返回0

li9yvcax  于 2022-11-01  发布在  Apache
关注(0)|答案(3)|浏览(128)

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

r8uurelv1#

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

r1zk6ea1

r1zk6ea12#

search()接受一个模式,而.只是表示“单个字符”,所以它可能返回第一个单个字符,也就是索引0处的字符。
你可以试试search("\.")

juzqafwq

juzqafwq3#

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

相关问题