2011-01-01 4 views
1

Я работаю в Flash Builder 4. Создайте валидатор электронной почты на Flex. этот кодstring.search (".") Всегда возвращает 0

public var s:String=""; 

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

     s=_s; //e-mail address (input [email protected]) 

     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

Вы можете использовать регулярное выражение. Так как точка (.) Имеет особое значение в регулярном выражении, вам нужно поставить символ «escape» раньше: yourString.search(/\./); Должен работать. НТН FTQuest

+0

Это работа !!! Большое спасибо))) –

+0

Точно такая же проблема, создавая функцию проверки электронной почты, и она застряла на периоде, возвращающемся 0. Это работает отлично! – BestAnswer

2

поиска() принимает шаблон, и . просто означает «один символ», так что, вероятно, возвращая первый одиночный символ, который, скорее всего, быть в индексе 0.

Вы можете попробовать search("\.")

+0

MVID проверки поиска («\»). -return 0 (((( –

+2

Я никогда не писал во флеше, но я бы попробовал 'search (" \\. ")'. – marcog

+0

Спасибо, эта работа !!! –

0

Стараюсь с поиском (/[.]/) и он работал хорошо в JavaScript, я думаю, что он будет работать в том же режиме, в as3

Смежные вопросы