Как получить только цифры из текста, используя jquery
Я хочу получить только цифры (123), а не текст (подтвердить), вот мой код
<p>123confirm</p>
<script type="text/javascript">
$(document).ready(function(){
$('p').click(function(){
var sd=$(this).text();
alert(sd);
});
});
</script>
Ответы
Ответ 1
Вы можете использовать parseInt
для этого, он будет разбирать строку и удалять любой "мусор" в ней и возвращать целое число.
Как заметил Джеймс Аллардис, номер должен быть перед строкой. Итак, если это первое, что написано в тексте, оно будет работать, иначе оно не будет.
- EDIT - используйте с вашим примером:
<p>123confirm</p>
<script type="text/javascript">
$(document).ready(function(){
$('p').click(function(){
var sd=$(this).text();
sd=parseInt(sd);
alert(sd);
});
});
</script>
Ответ 2
Я думаю, что RegExp будет хорошей идеей:
var sd = $(this).text().replace(/[^0-9]/gi, ''); // Replace everything that is not a number with nothing
var number = parseInt(sd, 10); // Always hand in the correct base since 010 != 10 in js
Ответ 3
Вы также можете использовать этот метод:
$(document).ready(function(){
$(p).click(function(){
var sd=$(this).text();
var num = sd.match(/[\d\.]+/g);
if (num != null){
var number = num.toString();
alert(number );
}
});
});
Ответ 4
Просто наблюдение. По какой-то причине $(p) без котировки вокруг тэга p не работает в некотором javascript. Может, в моем случае.
Я считаю правильным использовать его с кавычками:
...
$("p").click(function(){
....
Решение jValdron работало для меня, когда я включил кавычки вокруг тега p.