2011-01-14 32 views

Trả lời

20
^[0-9]*\.[0-9]{2}$ or ^[0-9]*\.[0-9][0-9]$ 
+0

làm thế nào để sử dụng này trong javascript để phù hợp với –

7

Nếu bạn đang tìm kiếm toàn bộ trận đấu dòng Tôi muốn đi với câu trả lời của Thánh Phaolô.

Nếu bạn đang tìm kiếm để phù hợp với một số witihn một đường thử: \d+\.\d\d(?!\d)

  • \d+ Một trong nhiều chữ số (giống như [0-9])
  • \. quả phù hợp với nhân vật kỳ
  • \d\d Trận hai vị trí thập phân
  • (?!\d) Là một dấu hiệu tiêu cực đảm bảo ký tự tiếp theo không phải là chữ số.
+0

'd' => '\ d' và'!? '=>'? ! ' – marcog

+0

@marcog: Cảm ơn. Tôi đã xem nó nhiều lần và không phát hiện ra những lỗi chính tả đó ... – Grhm

3

Nó phụ thuộc một chút về những gì không nên phù hợp và những gì nên và trong những ngữ cảnh

ví dụ nên văn bản bạn kiểm tra chống chỉ giữ số? trong trường hợp đó bạn có thể làm điều này:

/^[0-9]+\.[0-9]{2}$/ 

nhưng điều đó sẽ kiểm tra toàn bộ chuỗi và do đó thất bại nếu trận đấu nên được thực hiện như một phần của một tổng thể lớn hơn

nếu nó cần phải được bên trong một lâu styring bạn có thể làm

/[0-9]+\.[0-9]{2}[^0-9]/ 

nhưng điều đó sẽ thất bại nếu chuỗi là chỉ là số (vì nó sẽ đòi hỏi một không chữ số theo số lượng)

nếu bạn cần phải b e có thể bao gồm cả hai trường hợp, bạn có thể sử dụng như sau:

/^[0-9]+\.[0-9]{2}$|[0-9]+\.[0-9]{2}[^0-9]/ 
+0

Cách tiếp cận thú vị. Tôi không chắc nó sẽ xảy ra một số ở cuối chuỗi dài hơn. Tôi muốn đề xuất dòng cuối cùng của bạn có thể được thay đổi thành '/ [0-9] + \. [0-9] {2} ([^ 0-9] | $) /' – Grhm

0

Bạn cũng có thể thử Regular Expression

^\d+(\.\d{1,2})?$ 

or 
var regexp = /^\d+\.\d{0,2}$/; 

// returns true 
regexp.test('10.5') 

or 
[0-9]{2}.[0-9]{2} 

or 
^[0-9]\d{0,9}(\.\d{1,3})?%?$ 

or 
^\d{1,3}(\.\d{0,2})?$ 
-1

Là giá trị dưới đây có giá trị đầu vào dấu chấm động (Giống như lĩnh vực giá)?

0,00 trong trường giá?

Theo tôi 0,01 và 0,10 là hợp lệ nhưng không 0.00 không phải là giá trị float hợp lệ

+0

Điều này không trả lời câu hỏi trên ở tất cả. – Chanlito

Các vấn đề liên quan