为了账号安全,请及时绑定邮箱和手机立即绑定

谁能帮忙解释下这段JavaScript代码是什么意思?

谁能帮忙解释下这段JavaScript代码是什么意思?

慕雪6442864 2018-12-07 11:34:42
function isHtml(source) { var trimmed = source.replace(/^[ \t\n\r]+/, ''); var comment_mark = '<-' + '-'; return (trimmed && (trimmed.substring(0, 1) === '<' || trimmed.substring(0, 4) === comment_mark));} 我知道代码的意思是判断source是否是html代码,但原理是什么呢?
查看完整描述

2 回答

?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

function isHtml(source) {
var trimmed = source.replace(/^[ \t\n\r]+/, '');查找换行符 制表符 回车符,並且用“”替換
var comment_mark = '<-' + '-';
return (trimmed && (trimmed.substring(0, 1) === '<' || trimmed.substring(0, 4) === comment_mark));
}
trimmed.substring(0, 1) 判斷 第一位是否是'<'
var comment_mark = '<-' + '-'; 應該是 var comment_mark = '<!-' + '-';吧
 trimmed.substring(0, 4) === comment_mark判斷 0到4位,是否是‘《-’+‘-’,可能是注射的開頭
如果trimmed不為空,並且 後面的條件,只要有一個成立。就返回true,


查看完整回答
反对 回复 2018-12-24
?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

原理就是,先将该段内容的回车替换掉,然后,再判断替换掉回车后的内容的第一个里是否含有<或<!--

查看完整回答
反对 回复 2018-12-24
  • 2 回答
  • 0 关注
  • 395 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信