javascript - 从 HTML 文本中捕获数字

标签 javascript

我想从 HTML 文档中获取电话号码。我使用了一种模式,但它也选择了作为标签属性一部分的数字。

var myArray = $('body').html().match(/([\s()-.])*(0[1-9]|[+][1-9]|[+][+][1-9]|00[1-9])(([\s()-.\/])*[0-9]+)*/g);

最佳答案

jQuery 中的 html() 方法使用 innerHTML JavaScript 属性。 innerHTML 属性在运行时检索元素的源。 如果您需要元素的纯文本内容(没有 HTML 标记),请使用 innerTexttextContent 属性。

例子:

var bodyText = (document.body.textContent === undefined) ? document.body.innerText : document.body.textContent;
var myArray = bodyText().match (/([\s()-.])*(0[1-9]|[+][1-9]|[+][+][1-9]|00[1-9])(([\s()-.\/])*[0-9]+)*/g);

更多详细信息和示例:innerText property , textContent property , innerHTML property .

关于javascript - 从 HTML 文本中捕获数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3479110/

相关文章:

javascript - 将数组从 PHP 传递到 JS

javascript - 在 Meteor 中加载 YouTube 播放器 API

javascript - 用于删除除数字以外的字符并仅在 Angular 6 中允许单个小数点的正则表达式

javascript - Map.has 与 Map.get 之间的性能差异

javascript - 为什么在 JavaScript 中 {} + {} 变为 "[object Object][object Object]"而 [] + [] 变为空字符串?

javascript - Express js 路由 - 重叠参数

Javascript 作用域链

javascript - 使用文字表示法的对象的等价物

javascript - 带滚动条更改的 Chrome 媒体查询

javascript - .keypress() 没有像我想象的那样工作