Từ 1 tới 5 trên tổng số 5 kết quả

Đề tài: Đặt điều kiện nhập dữ liệu vào textbox C#?

  1. #1
    Ngày gia nhập
    02 2012
    Bài viết
    2

    Mặc định Đặt điều kiện nhập dữ liệu vào textbox C#?

    Các bạn giúp mình với, mình muốn đặt điều kiện cho textbox như sau :khi nhập dữ liệu vào text box 1,2,3,7,8,10,5,123,456 yêu cầu khoảng cách giữ các số phải là dấu ",". Bạn nào bít cách giúp mình nhé thanks
    sau một lúc tìm kiếm trên diễn đàn thì mình cũng kiếm được một đoạn code :

    private static bool kiemtra(string s)
    {
    if (s != "")
    return Regex.IsMatch(s, @"^[0-9]\d*\,?[0]*$");
    else return true;

    }
    nhưng mình ko hiểu đoạn code return Regex.IsMatch(s, @"^[0-9]\d*\,?[0]*$"); lắm bạn nào hiểu có thể giải thích giúp mình với. Với lại đoạn code trên nó chỉ cho nhập số thôi khi mình nhập số 1, rồi nhập thêm một số nữa thì nó bát lỗi
    Đã được chỉnh sửa lần cuối bởi donkey85 : 23-02-2012 lúc 03:07 AM.

  2. #2
    Ngày gia nhập
    05 2010
    Bài viết
    505

    yêu cầu của bạn theo mình không có tính logic vì làm sao phân biệt được "các số", theo ví dụ bạn đưa ra thì 1 là một số, 123 cũng là một số, thậm chí có lẽ 123456 cũng chỉ là một số.

  3. #3
    Ngày gia nhập
    02 2012
    Bài viết
    3

    1) Dữ liệu mà bạn nhập vào textbox là kiểu gì? Số nguyên hay số thập phân? Nếu là số thập phân thì dấu cách phần nguyên và phần thập phân là gì (tùy theo setup trên mỗi máy mà có khi người ta dùng dấu chấm (.) hoặc dấu phẩy (,)? Do đó, có khả năng là dùng dấu phẩy để phân cách từng số là không phù hợp, có thể dùng khoảng trắng?

    2) Thực ra mà nói thì cách kiểm tra cũng rất đơn giản, bạn chỉ cần phát hiện trong chuỗi dữ liệu một ký tự không phù hợp, ví dụ như là một ký tự không phải là số [0-9] và khác dấu phẩy thì bạn có thể biết được là chuỗi dữ liệu đó có vấn đề. Như vậy, bạn chỉ cần lần lượt so sánh từng ký tự trong chuỗi đã nhập với các ký tự số 0-9 và ký tự dấu phẩy, nếu có bất kỳ ký tự nào nằm lọt ra ngoài tập hợp [0-9; dấu phẩy] thì báo lỗi ngay.

    3) Regex là class Regular Expression. Đây là một khái niệm hơi phức tạp, có vẻ như bạn cũng mới lập trình nên để từ từ nghiên cứu sau.

  4. #4
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Hình như ý của người viết bài là muốn nhập một chuõi toàn số cách nhau bởi dấu phẩy (để sau đó tách có thể tách ra từng số)

    Trả lời cho chủ:
    Cái mẫu (pattern) RegEx trên theo tôi không kiểm tra được chuõi số cách nhau bằng dấu phẩy.

    Mẫu này mới đúng:
    @"^(\d+\,)*\d+$"

    kết quả thử:
    1,2,3,7,8,10,5,123,456 -> true
    1,2 -> true
    1 -> true
    ,1 -> false
    1, -> false
    1,,2 -> false
    chứa bất cứ ký tự nào khác -> false

    tb. cái hàm private static bool kiemtra(string s) code hơi lủng củng, bạn nhặt nó ở đâu thế?

  5. #5
    Ngày gia nhập
    02 2012
    Bài viết
    2

    Trích dẫn Nguyên bản được gửi bởi votichsu Xem bài viết
    hình như ý của người viết bài là muốn nhập một chuõi toàn số cách nhau bởi dấu phẩy (để sau đó tách có thể tách ra từng số)

    trả lời cho chủ:
    Cái mẫu (pattern) regex trên theo tôi không kiểm tra được chuõi số cách nhau bằng dấu phẩy.

    Mẫu này mới đúng:
    @"^(\d+\,)*\d+$"

    kết quả thử:
    1,2,3,7,8,10,5,123,456 -> true
    1,2 -> true
    1 -> true
    ,1 -> false
    1, -> false
    1,,2 -> false
    chứa bất cứ ký tự nào khác -> false

    tb. Cái hàm private static bool kiemtra(string s) code hơi lủng củng, bạn nhặt nó ở đâu thế?
    thanks mình đâ xử lý được rồi

Các đề tài tương tự

  1. Trả lời: 10
    Bài viết cuối: 20-04-2012, 01:02 PM
  2. Trả lời: 14
    Bài viết cuối: 10-10-2011, 03:58 PM
  3. Code cho ẩn kí tự khi nhập password vào textbox trong form đăng nhập
    Gửi bởi mrkiemhiep trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 6
    Bài viết cuối: 16-03-2011, 11:10 PM
  4. nhập dữ liệu vào textbox enter con trỏ xuống textbox kế tiếp?
    Gửi bởi hoanghuynh2409 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 6
    Bài viết cuối: 25-12-2010, 09:57 PM
  5. Báo lỗi khi nhập số âm vào textbox?
    Gửi bởi whamy04 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 7
    Bài viết cuối: 28-06-2007, 09:07 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn