Tôi muốn kiểm tra xem
let isnum = /^\d+$/.test[val];
5 chỉ chứa các chữ số. Tôi đã sử dụng cái này:var isANumber = isNaN[theValue] === false;
if [isANumber]{
..
}
Nhưng nhận ra rằng nó cũng cho phép
let isnum = /^\d+$/.test[val];
6 và let isnum = /^\d+$/.test[val];
7. Về cơ bản, tôi muốn đảm bảo rằng let isnum = /^\d+$/.test[val];
8 chỉ chứa các chữ số và không có ký tự nào khác. Vì let isnum = /^\d+$/.test[val];
9 và string.match[/^[0-9]+$/] != null;
0 đều là số, string.match[/^[0-9]+$/] != null;
1 không phải là cách đúng. Có lẽ một regexp là những gì tôi cần? Bất kỳ lời khuyên?
Jason Aller
3,48128 Huy hiệu vàng40 Huy hiệu bạc37 Huy hiệu đồng28 gold badges40 silver badges37 bronze badges
Đã hỏi ngày 22 tháng 11 năm 2009 lúc 15:24Nov 22, 2009 at 15:24
0
bạn nghĩ thế nào về
let isnum = /^\d+$/.test[val];
Nghề
5.0883 Huy hiệu vàng12 Huy hiệu bạc34 Huy hiệu đồng3 gold badges12 silver badges34 bronze badges
Đã trả lời ngày 22 tháng 11 năm 2009 lúc 15:26Nov 22, 2009 at 15:26
Scott Everndenscott EverndenScott Evernden
37.9K15 Huy hiệu vàng78 Huy hiệu bạc84 Huy hiệu đồng15 gold badges78 silver badges84 bronze badges
9
string.match[/^[0-9]+$/] != null;
Đã trả lời ngày 22 tháng 11 năm 2009 lúc 15:26Nov 22, 2009 at 15:26
Scott Everndenscott EverndenJason S
37.9K15 Huy hiệu vàng78 Huy hiệu bạc84 Huy hiệu đồng161 gold badges586 silver badges945 bronze badges
String.prototype.isNumber = function[]{return /^\d+$/.test[this];}
console.log["123123".isNumber[]]; // outputs true
console.log["+12".isNumber[]]; // outputs false
Jason Sjason sNov 22, 2009 at 21:25
181K161 Huy hiệu vàng586 Huy hiệu bạc945 Huy hiệu Đồngbalupton
Đã trả lời ngày 22 tháng 11 năm 2009 lúc 21:2530 gold badges123 silver badges176 bronze badges
2
Baluptonbalupton
var isNumber = /^\d+\.\d+$/.test[value];
45.3K30 Huy hiệu vàng123 Huy hiệu bạc176 Huy hiệu đồngJul 24, 2017 at 10:06
Nếu bạn muốn hỗ trợ cho các giá trị nổi [giá trị phân tách DOT] thì bạn có thể sử dụng biểu thức này:Adithya Sai
Đã trả lời ngày 24 tháng 7 năm 2017 lúc 10:062 gold badges17 silver badges31 bronze badges
5
Adithya Saiadithya Sai
1.4242 Huy hiệu vàng17 Huy hiệu bạc31 Huy hiệu đồng
const digits_only = string => [...string].every[c => '0123456789'.includes[c]];
console.log[digits_only['123']]; // true
console.log[digits_only['+123']]; // false
console.log[digits_only['-123']]; // false
console.log[digits_only['123.']]; // false
console.log[digits_only['.123']]; // false
console.log[digits_only['123.0']]; // false
console.log[digits_only['0.123']]; // false
console.log[digits_only['Hello, world!']]; // false
Đây là một cách thú vị, có thể đọc được để kiểm tra xem một chuỗi chỉ chứa các chữ số.Nov 21, 2018 at 23:48
Phương pháp này hoạt động bằng cách chia chuỗi vào một mảng bằng toán tử lan rộng, sau đó sử dụng phương thức
string.match[/^[0-9]+$/] != null;
2 để kiểm tra xem tất cả các phần tử [ký tự] trong mảng có được bao gồm trong chuỗi các chữ số string.match[/^[0-9]+$/] != null;
3:Grant MillerĐã trả lời ngày 21 tháng 11 năm 2018 lúc 23:4816 gold badges138 silver badges154 bronze badges
3
Grant Millergrant Miller
function onlyDigits[s] {
for [let i = s.length - 1; i >= 0; i--] {
const d = s.charCodeAt[i];
if [d < 48 || d > 57] return false
}
return true
}
25.5K16 Huy hiệu vàng138 Huy hiệu bạc154 Huy hiệu đồng
Đây là một giải pháp mà không sử dụng các biểu thức thông thường:Jun 28, 2018 at 14:11
SC1000SC1000SC1000
trong đó 48 và 57 là mã char cho "0" và "9", tương ứng.10 silver badges15 bronze badges
Đã trả lời ngày 28 tháng 6 năm 2018 lúc 14:11
function isANumber[str]{
return !/\D/.test[str];
}
74010 Huy hiệu bạc15 Huy hiệu ĐồngDec 18, 2016 at 7:11
1
function isNumeric[x] {
return parseFloat[x].toString[] === x.toString[];
}
Đây là cái bạn muốn
Đã trả lời ngày 18 tháng 12 năm 2016 lúc 7:11Jul 18, 2018 at 20:32
Mặc dù điều này sẽ trả lại
string.match[/^[0-9]+$/] != null;
4 trên các chuỗi với số không dẫn đầu hoặc theo dõi.string.match[/^[0-9]+$/] != null;
5Đã trả lời ngày 18 tháng 7 năm 2018 lúc 20:32Aug 5, 2020 at 13:50
1
Trong trường hợp bạn cần số nguyên và nổi ở cùng một xác thực
^\d+$
Đã trả lời ngày 22 tháng 11 năm 2009 lúc 15:26Nov 22, 2009 at 15:26
Scott Everndenscott EverndenJoey
37.9K15 Huy hiệu vàng78 Huy hiệu bạc84 Huy hiệu đồng81 gold badges673 silver badges675 bronze badges
Jason Sjason s
let isnum = /^\d+$/.test[val];
0181K161 Huy hiệu vàng586 Huy hiệu bạc945 Huy hiệu ĐồngOct 24, 2020 at 8:57
3
Đã trả lời ngày 22 tháng 11 năm 2009 lúc 21:25
let isnum = /^\d+$/.test[val];
1Baluptonbalupton
45.3K30 Huy hiệu vàng123 Huy hiệu bạc176 Huy hiệu đồng
let isnum = /^\d+$/.test[val];
2Nếu bạn muốn hỗ trợ cho các giá trị nổi [giá trị phân tách DOT] thì bạn có thể sử dụng biểu thức này:Jun 9, 2020 at 15:25
1
Đã trả lời ngày 24 tháng 7 năm 2017 lúc 10:06
let isnum = /^\d+$/.test[val];
3Adithya Saiadithya SaiJul 3, 2020 at 11:44
1.4242 Huy hiệu vàng17 Huy hiệu bạc31 Huy hiệu đồngJacob
Đây là một cách thú vị, có thể đọc được để kiểm tra xem một chuỗi chỉ chứa các chữ số.3 gold badges34 silver badges52 bronze badges
let isnum = /^\d+$/.test[val];
4Phương pháp này hoạt động bằng cách chia chuỗi vào một mảng bằng toán tử lan rộng, sau đó sử dụng phương thức
string.match[/^[0-9]+$/] != null;
2 để kiểm tra xem tất cả các phần tử [ký tự] trong mảng có được bao gồm trong chuỗi các chữ số string.match[/^[0-9]+$/] != null;
3:Đã trả lời ngày 21 tháng 11 năm 2018 lúc 23:48Jul 25, 2019 at 9:04