value
trên input
yếu tố là luôn một chuỗi. Nó có thể là một chuỗi các chữ số.
Nếu bạn muốn biết liệu chuỗi đó chỉ chứa số hợp lệ, bạn phải phân tích cú pháp đó (và quyết định xem bạn xem số hợp lệ là gì và cho phép điều đó).
Ví dụ, bạn sẽ nhận được mọi người nói cho bạn để sử dụng parseInt(myVar)
hoặc unary +
(+myVar
) hoặc isNaN(myVar)
(mà làm những gì các unary +
không) hoặc Number(myVar)
(giống nhau), nhưng:
parseInt
chỉ phân tích đầu của chuỗi, parseInt("345foo")
là 345
parseInt
được, trong cour se, chỉ cho số nguyên; bạn muốn parseFloat
cho số điện thoại với các phần phân đoạn
Tất cả những sẽ không hiểu được hàng ngàn tách
Tất cả những sẽ thất bại để hiểu một tách số thập phân đó không phải là .
(ví dụ, trong nhiều miền địa phương nó ,
hoặc đôi khi thậm chí là một không gian)
+myVar
và Number(myVar)
và isNaN(myVar)
và như vậy sẽ đối xử với một chuỗi rỗng như 0
... loại điều đó. Vì vậy, bạn phải làm một số chuẩn bị trên chuỗi theo những gì đầu vào bạn muốn chấp nhận.
Một khi bạn đã quyết định những gì định dạng (s) để xử lý, có một tá câu hỏi với câu trả lời ở đây về làm phân tích thực tế:
Nguồn
2015-05-04 14:20:59
tại sao ParseInt và không phải làNNN như @KJ Price? –
bạn có thể sử dụng typeof để phát hiện loại biến trong js, sau đó bạn có thể xem dưới dạng @ T.J. Crowder nói rằng 'alert (typeof (document.getElementById ('txtbox'). Value));' luôn trả về chuỗi – scraaappy
Xin chào, cảm ơn vì điều này. Rất tốt nói. – FewFlyBy