我一直试图找出这段代码的含义,但我还没有运气,甚至找不到从哪里开始或者要查找什么。
if(!/^(https?):\/\//i.test(value))
我理解其中一些,所以我有以下问题。
如果这似乎是一个没有研究的问题,任何指导从哪里开始都会很棒。
答案 0 :(得分:7)
正则表达式是描述字符模式的对象。
正则表达式用于在文本上执行模式匹配和“搜索和替换”功能。
这完全相同,但可能更清楚
var patt = /^(https?):\/\//i;
if( !patt.test(value) ){
// value DOES NOT MATCH patt!
}
在这种情况下,它会检查value
不是以http://
或https://
/ //Open regexp
^ //Start of the string
( // Start of the capturing group
https? //Match literally http or https (because s is optional "?")
) // End of capturing group
:\/\/ // Match literally ://
/ // Close regexp
i // Case-insensitive flag
答案 1 :(得分:1)
这可以帮到你
^
在字符串http
匹配字符http字面(不区分大小写)s?
字面匹配字符(不区分大小写)?
在零到一次之间,尽可能多次,根据需要回馈[贪婪] :
匹配字符:字面意思\/
匹配字符/字面i
修饰符:不敏感。不区分大小写的匹配(忽略[a-zA-Z]的情况)