如何通過jquery檢查字符串是否包含任何數值?jQuery - 檢查字符串是否包含數字值
我搜索了很多例子,但我只是想方法來檢查一個數字,而不是一個字符串中的數字。我試圖找到像$(this).attr('id').contains("number");
(P/S:我的DOM ID會像Large_a
(不含數值),Large_a_1
(與數值),Large_a_2
等)
何種方法均應我用?
如何通過jquery檢查字符串是否包含任何數值?jQuery - 檢查字符串是否包含數字值
我搜索了很多例子,但我只是想方法來檢查一個數字,而不是一個字符串中的數字。我試圖找到像$(this).attr('id').contains("number");
(P/S:我的DOM ID會像Large_a
(不含數值),Large_a_1
(與數值),Large_a_2
等)
何種方法均應我用?
此代碼檢測由下劃線符號開頭結尾數字(azerty1_2將匹配 「2」,但azerty1將不匹配):
if (matches = this.id.match(/_(\d)+$/))
{
alert(matches[1]);
}
你可以使用正則表達式:
var matches = this.id.match(/\d+/g);
if (matches != null) {
// the id attribute contains a digit
var number = matches[0];
}
簡易版:
function hasNumber(s) {
return /\d/.test(s);
}
更高效的版本(保持在一個閉合正則表達式):
var hasNumber = (function() {
var re = /\d/;
return function(s) {
return re.test(s);
}
}());
我很好奇你的關閉版本是多少效率?我認爲閉包的開銷是值得的,以避免每次重新創建正則表達式? – nnnnnn
一個第一谷歌搜索結果: http://stackoverflow.com/questions/3955345/javascript-jquery-get-字符數字 –