2010-11-26 72 views

回答

4

嗯,你总是可以先检查一下,如果你的网址中包含@使用indexOf(),一个字符串的方法。如果它返回的数字不是-1,则说明您的网址包含@。如果没有,请继续使用您的正则表达式。

编辑:您可以使用此代码:

if(myString.indexOf('@') == -1 && myString.match(regexp)) { 
    return true; 
} 
else { 
    return false; 
} 

从而可以进一步简化为:

return myString.indexOf('@') == -1 && myString.match(myString); 

由于去@idealmachine提供了这个代码比我更快。

+0

+1的正则表达式不延伸到更小可读一塌糊涂。 – jwueller 2010-11-26 09:27:29

0

这应该做:

regexp = /((ftp|http|https):\/\/)?[^\/:\s]+(:[0-9]+)?(\/[^@]*)?/; 
相关问题