如何只获得标签内的数字留下文本

时间:2016-09-01 13:21:55

标签: javascript jquery node.js

这是我的电子邮件只对电话号码感兴趣

<p class="phone-list">
    <span>hello</span>
    <span>8046033006<script type="text/javascript"> whicVer('vers1');</script></span>
</p>
<p class="phone-list">
    <span>hello</span>
    <span>12345566<script type="text/javascript"> whicVer('vers2');</script></span>
</p>

我只想获得电话号码,即。 8046033006&amp; 12345566通过此代码我得到了

$('.phone-list span:nth-child(2)').each(function()
  console.log($(this).text());
);

输出看起来像......

  • 8046033006 whicVer('vers1')
  • 12345566 whicVer('vers2')

我观察过为什么脚本标签不打印?请提前帮助我

3 个答案:

答案 0 :(得分:1)

您可以使用正则表达式。或者只是在数字周围使用一点距离。

var removedText = initialText.replace(/\D/g, '');

对于你的情况,它将是:

$('.phone-list span:nth-child(2)').each(function() {
  var num = $(this).text().replace(/\D/g, '')
  console.log(num);
);

这是一点 JSFiddle

答案 1 :(得分:0)

假设所有.phone-list元素的HTML结构相同,您可以从第二个子span中检索第一个textNode并获取它nodeValue。试试这个:

$('.phone-list span:nth-child(2)').each(function() {
  console.log($(this).contents()[0].nodeValue);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="phone-list">
    <span>hello</span>
    <span>8046033006<script type="text/javascript">//whicVer('vers1');</script></span>
</p>
<p class="phone-list">
    <span>hello</span>
    <span>12345566<script type="text/javascript">//whicVer('vers2');</script></span>
</p>

请注意,我只注释了whicVer()函数调用,因为他们在代码段中给出了错误。

答案 2 :(得分:0)

从DOM获取文本后,您可以像这样使用正则表达式

// text from which number will be seperated
var number = "8046033006hriughidhgiudhgiudthgiuhdiutg"
document.write('<pre>'+number.match(/\d+/)[0]+'</pre>')

JSFIDDLE