我正在寻找一个正则表达式,它将一些随机电话号码替换为<a href>
. 电话号码应主要是瑞典语,但也应支持非瑞典语。
我想支持以下格式:
(0 + 9 个数字)
- +46xxxxxxxxx
- 0046xxxxxxxxx
- 0xxxxxxxxx
(0 + 8 个数字)
- +46xxxxxxxx
- 0046xxxxxxxx
- 0xxxxxxxx
(0 + 7 个数字)
- +46xxxxxx
- 0046xxxxxxx
- 0xxxxxxx
通常它们也会根据此页面的格式进行格式化,但是我不需要支持它(尽管它会很棒)。
到目前为止,我尝试了很多正则表达式。使用这个答案,我尝试制作我自己的版本,但是我似乎无法让它工作。我最接近的是这个正则表达式,但它删除了太多:
/( |^|>)((((\+|00)[0-9]{2} ?(\(0\))?)|0)([0-9]{2}-? ?[0-9]{7})|([0-9]{3}-? ?[0-9]{6})|([0-9]{1}-? ?[0-9]{8}))( |$|<)/gi
这是我的小提琴:http: //jsfiddle.net/xAXy4/1/
我的脚本的目标是识别电话号码并使它们成为<a href="tel:XXX">XXX</a>
链接。我目前的代码是:
$(document).ready(function () {
var patt=/( |^|>)((((\+|00)[0-9]{2} ?(\(0\))?)|0)([0-9]{2}-? ?[0-9]{7})|([0-9]{3}-? ?[0-9]{6})|([0-9]{1}-? ?[0-9]{8}))( |$|<)/gi
$('*','body').each(function() {
$(this).html($(this).html().replace(patt,'<a href="tel:$2">$2</a>'));
});
});