[英]Create a regular expression with the tags?
页面上有三行(000)000-0-000和+00(000)000-00-00所以我写了一个正则表达式来搜索它们/([\\+]?[0-9]+\\s)?[\\(][0-9]+[\\)]?[\\s][0-9-]+/
,但第三个字符串包含在标签<strong>(0000)</strong><span>00-00-00</span>
如何修改表达式和第三行?
function PhoneReplace(){
var src = $('body').html().replace(/([\+]?[0-9]+\s)?[\(][0-9]+[\)]?[\s][0-9-]+/g, '098 907 23 42');
$('body').html(src);
};
标签无法删除,我必须更换
不要在现有的正则表达式中捕获该情况。 而是在应用电话号码表达式之前修改字符串,即删除标签。 有很多方法可以做到这一点,例如使用DOM解析器,正则表达式可能不是最好的工具。 你可以做到
var results = input.replace(/<[^>]+>/g,"").match(myPhoneNumberExpression);
删除所有标记之类的东西。
var s = '<strong>(0000)</strong><span>00-00-00</span>';
var n = '', result;
var regex = /(\+?\d+)/g;
while ((result = regex.exec(s))) {
n += result[1];
}
document.writeln(n);
在这里查看此代码。
您可以使用document.body.innerText
或document.body.textContent
来获取HTML的文本内容(没有标记),然后您可以应用您的手机#正则表达式。
如果文本内容没有帮助,那么从Text JavaScript中删除HTML会解释几种(hacky)方法从HTML字符串中删除标记。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.