我正在尝试找到一种通过内容识别文本行的智能方法。我有一个jQuery函数,它将段落中的行包装到span标记中。我想通过某些“搜索模式”来识别每一行的内容。
我将主要有4种不同类型的线。
示例:
John Doe JL。 Hanoman No.7 Banjar Peliatan 乌布,巴厘岛85670 电话+62(0)123 456 789 john@johndoe.com
我认为查明文本是否只是文本还是包含@ -sign非常容易,但我在检查数字和一定数量的数字方面遇到了困难。 我认为检查金额是否相当可靠,因为我知道对大多数地址信息的期望。
我在这里找到了这个:
var hasNumber = (function() {
var re = /\d/;
return function(s) {
return re.test(s);
}
}());
但我不知道如何将它合并到这样的函数中。
$("#my-element").html(function(i, html){
var txt = html.split('<br>'), output;
for(var x = 0; x < txt.length; x++) {
if ( txt[x].indexOf("+62") > -1 )
output += "<span class='telephone'>"+txt[x]+"</span><br>"
else
output += "<span class='street'>"+txt[x]+"</span><br>"
}
return output;
})
我的想法是让它更具体,以便我可以在文本中识别所有类型的行:数字(数量不同),带电子邮件地址的行,纯文本行。