如果html标签仅存在于字符串的开头,我想返回false。否则,如果它们存在于字符串中,则返回true。到目前为止,我能够做的是,如果html标签在开头,则返回false,但如果它在字符串中,则从html标签之后的所有内容都将被删除。如果标记之前的文本长度为true,则只保留html标记之前的文本,否则返回false
示例:
Tha</bo
应该返回Tha bo
,只删除标记而不是标记后的所有内容</Thabo
应该返回一个带有无效信息消息的模态
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;
答案 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