我有一个用于验证网址的正则表达式。但我不想匹配包含字符“@”的网址。我该如何解决这个问题?
regexp = /((ftp|http|https):\/\/)?(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;
最佳答案
嗯,您始终可以首先使用字符串方法 indexOf()
检查您的 url 是否包含 @
。如果它返回 -1
以外的数字,则您的网址包含 @
。如果没有,请继续使用您的正则表达式。
编辑:您可以使用以下代码:
if( myString.indexOf('@') == -1 && myString.match(regexp)) {
return true;
}
else {
return false;
}
可以进一步缩短为:
return myString.indexOf('@') == -1 && myString.match(myString);
感谢 @idealmachine 比我更快地提供了此代码。
关于javascript - 找到一种方法来不匹配正则表达式中包含@的网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4283972/