jquery if元素是否包含数字

时间:2014-01-13 11:16:16

标签: jquery numbers

我想知道一个元素是否包含一个数字,无论它有多长。我需要区分单词和数字或其他字符。

fiddle

<ul>
  <li><a href="#">Word</a></li> <!-- this is a word -->
  <li><a href="#">1</a></li>
  <li><a href="#">2</a></li>
  <li><a href="#">...</a></li> <!-- this is a word -->
  <li><a href="#">15</a></li>
  <li><a href="#">30</a></li>
  <li><a href="#">100</a></li> <!-- this is a number -->
  <li><a href="#">Word</a></li>
</ul>

5 个答案:

答案 0 :(得分:6)

您可以使用isNumeric功能。

demo

$("li a").each(function() {
var num = $(this).text();
if ($.isNumeric(num)) {
        $(this).addClass('numb');
    } else {
        $(this).addClass('noNumb');
    }
});

demo

答案 1 :(得分:1)

试一试。使用isNaN检查它是否为数字。

$( "li a" ).each(function() {
    var xc = $(this).text();
    var isNum = isNaN(xc);
    if (isNum) {
            $(this).attr('class', 'numb');
        } else {
            $(this).attr('class', 'noNumb');
        }
});

答案 2 :(得分:0)

如C-link所说,isNumeric ..

$("li a").each(function() {
var toCheck = $(this).text();
if (isNumeric(toCheck)) {
        $(this).attr('class', 'is_number');
    } else {
        $(this).attr('class', 'is_not_number');
    }
});

答案 3 :(得分:0)

您也可以使用REGEX

执行此操作

Reguler exp' / \ d / '

<强> $(本)的.text()。匹配(/ \ d /)

$( "li a" ).each(function() {
    var matches = $(this).text().match(/\d/);
    if (matches){
       $(this).attr('class', 'numb');    
    }else{
       $(this).attr('class', 'noNumb');    
    }
});

Fiddle

答案 4 :(得分:0)

$( "li a" ).each(function() {

var xc = $(this).text();

  if ( $.isNumeric(xc) ) {
    $(this).attr('class', 'numb');
  } else {
$(this).attr('class', 'noNumb');
  }
});