zoukankan      html  css  js  c++  java
  • 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');
    	}
    }
    
    
    
    天和地是灰色的,砖和瓦也是灰色的。临街的墙几经风化,几经修补,刷过黑灰、白灰,涂过红漆,书写过不同内容的标语,又终于被覆盖;风雨再把覆盖层胡乱地揭下来,形成一片斑驳的杂色,融汇于灰色的笼罩之中。路旁的树木苍黑,瓦楞中芳草青青。 远处,炊烟缭绕。迷蒙的曙色中,矗立着...
  • 相关阅读:
    linux下的exec命令
    jenkins+gitlab+maven+docker部署项目之jenkins用户权限管理
    油候插件grant的使用
    python deepcopy的替代方案
    starletter代码示例
    mac使用pytorch
    Mac ERROR:root:code for hash md5 was not found.
    scrapy-redis分布式爬虫实战
    mac进行redis5.0单机集群笔记
    合并两个有序的链表Python和Go代码
  • 原文地址:https://www.cnblogs.com/raybiolee/p/5612309.html
Copyright © 2011-2022 走看看