需求:开发一个JavaScript函数,输入为markdown格式语法的图片标签:
输出是三个返回值:
- image31.png
- 31
- upload-images.jianshu.io/upload_imag…
下面是我写的JavaScript函数和测试代码:
<html>
<script>
var input = "";
var IMAGE_PATTERN = /^!\[(.*)\]\((.*)\)$/;
var IMAGE_INDEX = /^image(\d+).*$/;
// var IMAGE_TAG = "[图片]";
function SortedImage(index, url){
this.index = index;
this.url = url;
}
function sortByIndex(v1,v2){
if(v1.index < v2.index ){
return -1;
}
else if(v1.index > v2.index ){
return 1;
}
else return 0;
}
function run(input) {
if (input.indexOf("https://upload-images.jianshu.io") < 0 ) {
return;
}
var result = IMAGE_PATTERN.exec(input);
if( result.length != 3){
return;
}
var imageIndex = IMAGE_INDEX.exec(result[1]);
console.assert(imageIndex.length === 2);
return {
"fileIndex": imageIndex[1],
"fileName": result[1],
"fileURL": result[2],
};
}
var result = run(input);
debugger;
</script>
</html>
执行代码,能按照我期望的输出:
要获取更多Jerry的原创文章,请关注公众号"汪子熙":