我在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;
}}
}
3条答案
按热度按时间r8uurelv1#
您可以使用正则表达式。由于点(.)在正则表达式中有特殊含义,因此您需要在以下字符之前放置“转义”字符:
yourString.search(/\./);
应该可以工作。HTH FTQuestr1zk6ea12#
search()接受一个模式,而
.
只是表示“单个字符”,所以它可能返回第一个单个字符,也就是索引0处的字符。你可以试试
search("\.")
juzqafwq3#
我尝试使用search(/[.]/),它在javascript中运行良好,我认为它在as 3中也会以相同的模式运行