string.search(".") 总是返回 0
我在 Flash Builder 4 中工作。 在 Flex 上创建电子邮件验证器。 有这个代码
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;
}}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你可以使用正则表达式。由于点 (.) 在正则表达式中具有特殊含义,因此您需要在前面放置“转义”字符:
yourString.search(/\./);
应该有效。
华泰
FT任务
You could use regex. Since dot (.) has special meaning in regex you need to put 'escape' character before:
yourString.search(/\./);
Should work.
HTH
FTQuest
search() 接受一个模式,而
.
仅表示“单个字符”,因此它可能返回第一个单个字符,该字符很可能位于索引 0 处。您可以尝试
search (“\.”)
search() accepts a pattern, and
.
just means "a single character", so it is probably returning the first single character, which would most likely be at index 0.You could try
search("\.")
我尝试使用 search(/[.]/) 并且它在 javascript 中运行良好,我认为它会在 as3 中以相同的模式运行
I try with search(/[.]/) and it worked well in javascript, I think that It would work in the same mode in as3