这是我的电子邮件只对电话号码感兴趣
<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')
我观察过为什么脚本标签不打印?请提前帮助我
答案 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>')