• Javascript Regexp match and replace


    # add a new article reference to database
    function addnewpub() {
    var year = $("input#year").val();
    var articlelink = $("input#articlelink").val();
    var pdflink = $("input#pdflink").val();
    var reference = $("input#reference").val();
    if (!!(year && articlelink && pdflink && reference)) {
    	if (! isURL(articlelink) ){
    			$(this).next('.status').html("Article Link Invalid");
    			$(this).next('.status').css('color', '#F50162');
    			$('input#articlelink').focus().css('box-shadow','0 0 12px #FEBB2D inset');
    			return;
    		}
    		if (!pdflink.match(/https?://renlab.fudan.edu.cn/renlab/.*.pdf$/)) {
    			$(this).next('.status').html("PDF Link Invalid");
    			$(this).next('.status').css('color', '#F50162');
    			$('input#pdflink').focus().css('box-shadow','0 0 12px #FEBB2D inset');
    			return;
    		}
    		if (!year.match(/^[2-3][0-9][0-9][0-9]$/)) {
    			$(this).next('.status').html("Year Invalid");
    			$(this).next('.status').css('color', '#F50162');
    			$('input#year').focus().css('box-shadow','0 0 12px #FEBB2D inset');
    			return;
    		}
    		if (! (reference.match(/Rens+G[*#]?/) &&
    		     ( reference.match(/((d{4})(?:s+)?(?:[^.]+.)(?:s+)?)([A-Za-z ]+)(.?(?:s+)?)/) ||
    			   reference.match(/((d{4})(?:.)?(?:s+)?(?:[^.]+.)(?:s+)?)([A-Za-z .]+.?)((?:s+)?(?:DOI|doi))/) ) ) ){
    			$(this).next('.status').html("Reference Invalid");
    			$(this).next('.status').css('color', '#F50162');
    			$('input#reference').focus().css('box-shadow','0 0 12px #FEBB2D inset');
    			return;
    		}
    		var newref = reference.replace(/Rens+G[*#]?/, "<span class='gd_r'>$&</span>");
    		newref = newref.replace(/((d{4})(?:s+)?(?:[^.]+.)(?:s+)?)([A-Za-z ]+)(.?(?:s+)?)/, "$1<span class='gd_r'>$2</span>$3");
    		reference = newref.replace(/((d{4})(?:.)?(?:s+)?(?:[^.]+.)(?:s+)?)([A-Za-z .]+.?)((?:s+)?(?:DOI|doi))/, "$1<span class='gd_p'>$2</span>$3");
    		$(this).next('.status').after("<div class='preview'></div>").html(reference);
    
    		$.get('/wp-content/themes/yusi1.0/misc/addnewpub.php', {
    			'year': year,
    			'articlelink': articlelink,
    			'pdflink': pdflink,
    			'reference': reference
    		}).done(function(data) {
    			$(this).next('.status').html('Added Success');
    			$(this).next('.status').css('color', '#01B0F5');
    			$("input#year").val(date('o'));
    			$("input#articlelink").val(' ');
    			$("input#pdflink").val(' ');
    			$("input#reference").val(' ');
    		});
    	}
    	else {
    		$(this).next('.status').html("Invaid Input, all Required");
    		$(this).next('.status').css('color', '#F50162');
    	}
    }
    
    
    
    天和地是灰色的,砖和瓦也是灰色的。临街的墙几经风化,几经修补,刷过黑灰、白灰,涂过红漆,书写过不同内容的标语,又终于被覆盖;风雨再把覆盖层胡乱地揭下来,形成一片斑驳的杂色,融汇于灰色的笼罩之中。路旁的树木苍黑,瓦楞中芳草青青。 远处,炊烟缭绕。迷蒙的曙色中,矗立着...
  • 相关阅读:
    JS的构造函数
    Wdcp在安装memcached出现错误的解决办法
    mac 下 xampp 多域名 多站点 多虚拟主机 配置
    JS快速获取图片宽高的方法
    全文检索引擎Solr系列——整合MySQL、MongoDB
    php:获取浏览器的版本信息
    css3 media媒体查询器用法总结
    转:利用node压缩、合并js,css,图片
    火车进站
    三角形有向面积
  • 原文地址:https://www.cnblogs.com/raybiolee/p/5612309.html
Copyright © 2020-2023  润新知