如何通过jquery检查字符串是否包含任何数值?
我搜索了很多例子,但我只能检查一个数字,而不是STRING中的数字。我想找到像$(this).attr('id').contains("number");
(p / s:我的DOM ID类似于Large_a
(没有数值),Large_a_1
(带数值),Large_a_2
等。)
我应该使用什么方法?
答案 0 :(得分:8)
您可以使用正则表达式:
var matches = this.id.match(/\d+/g);
if (matches != null) {
// the id attribute contains a digit
var number = matches[0];
}
答案 1 :(得分:3)
此代码检测以下划线符号开头的尾随数字( azerty1_2 匹配“2”,但 azerty1 不匹配):< / p>
if (matches = this.id.match(/_(\d)+$/))
{
alert(matches[1]);
}
答案 2 :(得分:2)
简单版本:
function hasNumber(s) {
return /\d/.test(s);
}
更高效的版本(在闭包中保持正则表达式):
var hasNumber = (function() {
var re = /\d/;
return function(s) {
return re.test(s);
}
}());