Hướng dẫn check character is number javascript - kiểm tra ký tự là số javascript

Kiểm tra xem ký tự trong chuỗi có phải là số # không

Để kiểm tra xem một ký tự là một số, hãy truyền ký tự làm tham số cho hàm isNaN(). Hàm kiểm tra xem giá trị được cung cấp là NaN (không phải số). Nếu hàm trả về false, thì ký tự là một số hợp lệ.

Copied!

function isNumber(char) { if (typeof char !== 'string') { return false; } if (char.trim() === '') { return false; } return !isNaN(char); } const str = 'a1'; console.log(isNumber(str[0])); // 👉️ false console.log(isNumber(str[1])); // 👉️ true console.log(isNumber('123')); // 👉️ true console.log(isNumber('')); // 👉️ false console.log(isNumber(undefined)); // false

Trước tiên, chúng tôi kiểm tra xem giá trị được truyền cho hàm không phải là loại string, trong trường hợp đó chúng tôi trả lại false ngay lập tức.

Sau đó, chúng tôi kiểm tra xem giá trị được cung cấp là một chuỗi trống hoặc chỉ chứa khoảng trắng, trong trường hợp đó chúng tôi cũng trả về false.

Cuối cùng, chúng tôi sử dụng hàm isnan để kiểm tra xem ký tự được cung cấp không phải là số.

Toán tử logic không (!) Được sử dụng để phủ định giá trị được trả về từ hàm

Copied!

console.log(isNaN('a')); // 👉️ true console.log(isNaN('')); // 👉️ false console.log(isNaN(' ')); // 👉️ false
1 (không phải là số).

Hàm

Copied!

console.log(isNaN('a')); // 👉️ true console.log(isNaN('')); // 👉️ false console.log(isNaN(' ')); // 👉️ false
1 cố gắng chuyển đổi chuỗi thành một số và nếu nó thất bại, nó sẽ trả về

Copied!

console.log(isNaN('a')); // 👉️ true console.log(isNaN('')); // 👉️ false console.log(isNaN(' ')); // 👉️ false
3.

Copied!

console.log(isNaN('a')); // 👉️ true console.log(isNaN('')); // 👉️ false console.log(isNaN(' ')); // 👉️ false

Điều này có vẻ khá khó hiểu lúc đầu, nhưng hàm

Copied!

console.log(isNaN('a')); // 👉️ true console.log(isNaN('')); // 👉️ false console.log(isNaN(' ')); // 👉️ false
1 chuyển đổi một chuỗi trống hoặc một chuỗi chứa khoảng trắng thành một số (0), do đó, nó trả về false.

Copied!

console.log(Number('')); // 👉️ 0 console.log(Number(' ')); // 👉️ 0

Đây là lý do tại sao chúng tôi đã sử dụng phương thức

Copied!

console.log(isNaN('a')); // 👉️ true console.log(isNaN('')); // 👉️ false console.log(isNaN(' ')); // 👉️ false
6 - để cắt chuỗi và xác minh rằng đó không phải là một chuỗi trống.

Chúng tôi biết rằng nếu hàm

Copied!

console.log(isNaN('a')); // 👉️ true console.log(isNaN('')); // 👉️ false console.log(isNaN(' ')); // 👉️ false
1 được gọi với một chuỗi chứa ít nhất 1 ký tự và trả về

Copied!

console.log(isNaN('a')); // 👉️ true console.log(isNaN('')); // 👉️ false console.log(isNaN(' ')); // 👉️ false
3, thì chuỗi không phải là một số hợp lệ.

Ngược lại, nếu hàm

Copied!

console.log(isNaN('a')); // 👉️ true console.log(isNaN('')); // 👉️ false console.log(isNaN(' ')); // 👉️ false
1 được gọi với một chuỗi chứa ít nhất 1 ký tự và trả về false, thì chuỗi là một số hợp lệ.

Dưới đây là một số ví dụ khác về việc gọi isNaN() với chuỗi.

Copied!

console.log(isNaN('123')); // 👉️ false console.log(isNaN('1.23')); // 👉️ false console.log(isNaN('1,23')); // 👉️ true console.log(isNaN('123test')); // 👉️ true

Một giải pháp thay thế là sử dụng một biểu thức chính quy.

Kiểm tra xem ký tự trong chuỗi có phải là số có regex # không

Sử dụng phương thức

Copied!

console.log(Number('')); // 👉️ 0 console.log(Number(' ')); // 👉️ 0
2 trên biểu thức chính quy sau để kiểm tra xem ký tự là số -

Copied!

console.log(Number('')); // 👉️ 0 console.log(Number(' ')); // 👉️ 0
3. Phương thức

Copied!

console.log(Number('')); // 👉️ 0 console.log(Number(' ')); // 👉️ 0
4 sẽ trả về

Copied!

console.log(isNaN('a')); // 👉️ true console.log(isNaN('')); // 👉️ false console.log(isNaN(' ')); // 👉️ false
3 nếu ký tự là số hợp lệ, nếu không nó sẽ trả về false.

Copied!

function isNumber(char) { return /^\d$/.test(char); } const str = 'a1'; console.log(isNumber(str[0])); // 👉️ false console.log(isNumber(str[1])); // 👉️ true console.log(isNumber('100')); // 👉️ true console.log(isNumber('')); // 👉️ false console.log(isNumber(undefined)); // false

Chúng tôi đã tạo một hàm có thể tái sử dụng kiểm tra xem ký tự được cung cấp là một số.

Chúng tôi đã sử dụng phương pháp regexp.test để kiểm tra biểu thức chính quy so với ký tự.

Nếu biểu thức chính quy được khớp, phương thức trả về

Copied!

console.log(isNaN('a')); // 👉️ true console.log(isNaN('')); // 👉️ false console.log(isNaN(' ')); // 👉️ false
3, nếu không nó sẽ trả về false.

Tiền đạo chém

Copied!

console.log(Number('')); // 👉️ 0 console.log(Number(' ')); // 👉️ 0
9 đánh dấu sự khởi đầu và kết thúc của biểu thức chính quy.

CARET

Copied!

console.log(isNaN('123')); // 👉️ false console.log(isNaN('1.23')); // 👉️ false console.log(isNaN('1,23')); // 👉️ true console.log(isNaN('123test')); // 👉️ true
0 phù hợp với sự khởi đầu của đầu vào và dấu hiệu đồng đô la

Copied!

console.log(isNaN('123')); // 👉️ false console.log(isNaN('1.23')); // 👉️ false console.log(isNaN('1,23')); // 👉️ true console.log(isNaN('123test')); // 👉️ true
1 phù hợp với phần cuối của đầu vào.

Ký tự

Copied!

console.log(isNaN('123')); // 👉️ false console.log(isNaN('1.23')); // 👉️ false console.log(isNaN('1,23')); // 👉️ true console.log(isNaN('123test')); // 👉️ true
2 khớp với bất kỳ chữ số nào từ 0 đến 9.

Nếu bạn cần trợ giúp đọc một biểu thức thông thường, hãy xem Regex Cheatsheet này từ MDN.

Nếu ký tự chúng ta truyền dưới dạng tham số cho hàm là một số, hàm

Copied!

console.log(isNaN('123')); // 👉️ false console.log(isNaN('1.23')); // 👉️ false console.log(isNaN('1,23')); // 👉️ true console.log(isNaN('123test')); // 👉️ true
3 sẽ trả về

Copied!

console.log(isNaN('a')); // 👉️ true console.log(isNaN('')); // 👉️ false console.log(isNaN(' ')); // 👉️ false
3, trong tất cả các trường hợp khác, nó sẽ trả về false.

Đọc thêm #

  • Cách kiểm tra xem một ký tự có phải là chữ cái trong JavaScript không
  • Viết hoa chữ cái đầu tiên của mỗi từ trong mảng trong js