如果HTML标记仅存在于字符串的开头,则返回false

时间:2016-02-18 08:50:07

标签: javascript html asp.net tags

如果html标签仅存在于字符串的开头,我想返回false。否则,如果它们存在于字符串中,则返回true。到目前为止,我能够做的是,如果html标签在开头,则返回false,但如果它在字符串中,则从html标签之后的所有内容都将被删除。如果标记之前的文本长度为true,则只保留html标记之前的文本,否则返回false

示例:

  • Tha</bo应该返回Tha bo,只删除标记而不是标记后的所有内容
  • </Thabo应该返回一个带有无效信息消息的模态

&#13;
&#13;
function invalidInfo() {

	var returnVal = true;

	var valProjCode = window.document.getElementById("txtProjCode").value.replace(/<\/?[^>]+(>|$)/g, "");
	
	valDestination = window.document.getElementById("txtDestination").value.replace(/<\/?[^>]+(>|$)/g, "");

	if (valDestination.trim().length < 2 || valProjCode.trim().replace(/ /g, '').length < 5) {

	    returnVal = false;
		try {
		    $("#InvalidInfoModal").modal();
		    $('#InvalidCusInfoModal').modal('hide')
		    $('#MissingDateModal').modal('hide')
		    $('#InvalidDateModal').modal('hide')
		    $('#InvalidChars').modal('hide')
		}
		catch(err) {
			alert(err.message);
		}
	}

	return returnVal;
}
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

您可以使用正则表达式来确定字符串是否以特定模式启动。试试javascript正则表达式test()方法。您可以从here

找到参考

以html标记开头的匹配字符串的正则表达式为/^<([^>]+)>/ig

示例:

var regex = /^<([^>]+)>/ig;
regex.test("abc<html>"); //return false
regex.test("<html>abc"); //return true
regex.test("abcd"); //return false