这些 JS shorthand 字符是什么意思?
What do these JS shorthand characters mean?
我一直在努力找出这段代码的含义,但我什至找不到从哪里开始或要查找的内容。
if(!/^(https?):\/\//i.test(value))
我理解了一些,所以我有以下问题。
- “/^”有什么作用?
- 什么意思?做什么?
- “(”和“)”在 https 周围有什么作用
- “:”有什么作用?
- "i" 有什么作用?
如果这似乎是一个未经研究的问题,那么任何从哪里开始的指导都会很好。
这对你有帮助吗
^
断言字符串开头的位置
http
按字面匹配字符 http(不区分大小写)
s?
按字面匹配字符 s(不区分大小写)
- 量词:
?
零到一次之间,尽可能多次,按需回馈[贪心]
:
匹配字符 : literally
\/
匹配字符/字面意思
i
修饰符:不敏感。不区分大小写的匹配(忽略 [a-zA-Z] 的大小写)
这是什么
正则表达式是描述字符模式的对象。
正则表达式用于对文本执行模式匹配和 "search-and-replace" 功能。
这完全一样,但可能更清楚
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
学习
我一直在努力找出这段代码的含义,但我什至找不到从哪里开始或要查找的内容。
if(!/^(https?):\/\//i.test(value))
我理解了一些,所以我有以下问题。
- “/^”有什么作用?
- 什么意思?做什么?
- “(”和“)”在 https 周围有什么作用
- “:”有什么作用?
- "i" 有什么作用?
如果这似乎是一个未经研究的问题,那么任何从哪里开始的指导都会很好。
这对你有帮助吗
^
断言字符串开头的位置http
按字面匹配字符 http(不区分大小写)s?
按字面匹配字符 s(不区分大小写)- 量词:
?
零到一次之间,尽可能多次,按需回馈[贪心] :
匹配字符 : literally\/
匹配字符/字面意思i
修饰符:不敏感。不区分大小写的匹配(忽略 [a-zA-Z] 的大小写)
这是什么
正则表达式是描述字符模式的对象。
正则表达式用于对文本执行模式匹配和 "search-and-replace" 功能。
这完全一样,但可能更清楚
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