자바스크립트 숫자인지 검사
인터넷에 흔히 돌아다니는 isNaN(parseInt(숫자)) 검증은 문제가 있어서 새로 짜보았음.
’11aa’ 와 같은 케이스 발견 불가능하므로 길이만큼 for문 돌아주는게 제일 속편함.
// 숫자만 얻기
function getNum(_str) {
try {
if (_str == null || _str.trim().length == 0) {
return false;
}
_str = _str.trim();
// 1차 검증
var num = parseInt(_str);
if (num == null || isNaN(num)) {
return false;
}
// 1차 검증시 : ’11aa’ 와 같은 케이스 발견 불가
var len = _str.length;
var oneChar = “”;
for(var i=0; i<len; i++) {
oneChar = _str.substring(i, i+1);
if (oneChar == “0”) {
continue;
}
if (isNaN(parseInt(oneChar))) {
return false;
}
}
} catch (e) {
return false;
}
return num;
}