正则表达式Javascript,以了解模式是否包含在字符串中
我有一个JavaScript字符串,例如:正则表达式Javascript,以了解模式是否包含在字符串中,javascript,regex,Javascript,Regex,我有一个JavaScript字符串,例如: var test1 = "aaaaaa@bbbbb.temp" ; // Function must return true in this case var test2 = "ccccc@ddddd.fr " ; // Function must return false in this case 我想构建一个函数,如果字符串包含@character,后跟“.temp”扩展名后面的任何字符“bbbbbb”,则返回true 我该怎么做?您可
var test1 = "aaaaaa@bbbbb.temp" ; // Function must return true in this case
var test2 = "ccccc@ddddd.fr " ; // Function must return false in this case
我想构建一个函数,如果字符串包含@character,后跟“.temp”扩展名后面的任何字符“bbbbbb”,则返回true
我该怎么做?您可以使用regex\test
var found = /@.*?\.temp\b/.test(str);
如果要将其设置为@字符,后跟“bbbbbb”和“.temp”扩展名
,请使用:
var found = /@bbbbbb\.temp\b/.test(str);
您可以使用regex\test
var found = /@.*?\.temp\b/.test(str);
如果要将其设置为@字符,后跟“bbbbbb”和“.temp”扩展名
,请使用:
var found = /@bbbbbb\.temp\b/.test(str);
正则表达式解决方案:
function validate(argument) {
var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
if((argument.lastIndexOf('.temp', argument.length-5)>=argument.length-5) && re.test(argument)) {
return true;
} else {
return false;
}
}
函数验证(参数){
变量re=/^([^()[\]\\,;:\s@\“]+(\.[^()[\]\,;:\s@\“]+)*)(\'+\”)(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[1,3}.[0-9]{1,3}.];
if((argument.lastIndexOf('.temp',argument.length-5)>=argument.length-5)和&re.test(argument)){
返回true;
}否则{
返回false;
}
}
JSIDLE测试:正则表达式解决方案:
function validate(argument) {
var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
if((argument.lastIndexOf('.temp', argument.length-5)>=argument.length-5) && re.test(argument)) {
return true;
} else {
return false;
}
}
函数验证(参数){
变量re=/^([^()[\]\\,;:\s@\“]+(\.[^()[\]\,;:\s@\“]+)*)(\'+\”)(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[1,3}.[0-9]{1,3}.];
if((argument.lastIndexOf('.temp',argument.length-5)>=argument.length-5)和&re.test(argument)){
返回true;
}否则{
返回false;
}
}
jsiddle test:电子邮件地址不区分大小写,我相信
.*\.temp$
会更有效(*
vs*?
)。@sp00m:可能是这样,但两者都应该在功能上起作用。@anubhava不完全是这样,您的也将匹配a@b.temphello
@sp00m:哦,是的,我更多的是从*vs.*?
的角度说话。为此,我在\.之后添加了\b
。temp
电子邮件地址不区分大小写。我相信.*\.temp$
会更有效率(.*
vs.*?
)。@sp00m:可能是这样,但两者都应该在功能上起作用。@anubhava不完全是,您的也将匹配a@b.temphello
@sp00m:哦,是的,我更多的是从*vs.*?
的角度说话。为此,我在\.temp
@M42之后添加了\b
。请看一下我的代码如果你甚至没有读过代码,也不要减号…@SimonWhitehead看一看。@M42这个版本怎么样?@M42修正了一点。对于任何类型的电子邮件,只接受有效字符。顺便说一句,在您的解决方案中,您可以根据作者的问题将“bbbb”替换为任何字符。无论如何,谢谢你的关注,但是负让我很难过(好的,我删除了我的-1。但是问题中不需要验证电子邮件地址。它只是想测试它是否以结尾。temp
@M42看看我的代码。=\n如果你甚至没有读代码,也不要减号…@SimonWhitehead看看。@M42这个版本怎么样?@M42修正了一点。只接受有效字符。)r任何类型的电子邮件。顺便说一句,在您的解决方案中,您可以根据作者的问题将“bbbb”替换为任何字符。无论如何,感谢您的关注,但负号让我感到难过(好的,我删除了我的-1。但不需要验证问题中的电子邮件地址。它只是想测试它是否以.temp
结尾。