我试图从字符串中提取3个数字并将它们放入变量
这是html
<a href="javascript:theNumbers( 09222004, 05232015, '4815162342' );">Click Me</a>
我用jQuery
获得了href字符串$('a').attr('href')
,结果是
javascript:theNumbers( 09222004, 05232015, '4815162342' );
我想将每个值(09222004和05232015和4815162342)提取到变量,以便我可以在不同的过程中使用每个数字
答案 0 :(得分:1)
<a data-numbers="'09222004, 05232015, 4815162342'">Click Me</a>
获得价值
var numbers =$('a').attr('data-numbers').split(',');
这会返回一个数组
[&#39; 09222004&#39;,&#39; 05232015&#39;,&#39; 4815162342&#39;]
答案 1 :(得分:1)
看看这个,我希望它有所帮助:
$(document).ready(function(){
// get href text attribute
var mString = $('a').attr('href');
// get the text between ()
var mResult = mString.match(/\((.*)\)/);
// split mResult
var numbers = mResult[1].split(',');
// show the result
for(var i = 0; i < numbers.length; i++){
$("#numbers").append('Number ' + i + ' is ' + numbers[i] + '<br>');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="javascript:theNumbers( 09222004, 05232015, '4815162342' );">Click Me</a>
<div id="numbers"></div>
答案 2 :(得分:0)
String.prototype.split() str.split([separator[, limit]])
会在这里为您提供帮助,然后是逗号。
Parse大小为3的数组元素
答案 3 :(得分:0)
仅供记录,接受的答案并不符合返回可用数字的要求。实际上,已经接受的答案(下面的方法A)根本没有像OP已经指出的那样起作用。小提琴中给出的答案(方法B)更好,但仍然返回错误的数据,即parseInt(s)= NaN。
但是,只需删除非数字字符并在逗号上拆分,就可以返回一组干净的数据:
href.replace(/[^0-9,]/g,'').split(',');
运行代码段以比较各种方法的输出:
<html>
<body>
<xmp id="stdout" style="background-color:black; color:lime;padding:1em;"></xmp>
<script type="text/javascript">
var data = {}, href = "javascript:theNumbers( 09222004, 05232015, '4815162342' );"
data.method_A = href.split(',');
data.method_B = href.replace("javascript:theNumbers(","").replace(");","").split(',');
data.method_C = href.replace(/[^0-9,]/g,'').split(',');
document.getElementById('stdout').innerHTML = JSON.stringify( data, null, ' ' );
</script>
</body>
</html>
&#13;