2010-08-28 32 views
12

Tôi đang tạo tập lệnh xác minh biểu mẫu dựa trên trình duyệt để kiểm tra xem đầu vào không có bất kỳ ký tự chữ hoa nào theo Tiêu chuẩn Unicode. Định nghĩa của tôi về một ký tự chữ hoa là một ký tự có một ánh xạ chữ thường. Nếu một ký tự nào đó trong chuỗi đầu vào không có một ánh xạ chữ thường hoặc chữ hoa (như ký tự tiếng Trung) thì sẽ ổn thôi (nó sẽ vượt qua xác thực của tôi).Javascript string.toLowerCase() có tuân thủ các tiêu chuẩn Unicode trong trường hợp chuyển đổi không?

Tôi đang sử dụng mã hóa UTF-8.

tôi đang lập kế hoạch để tạo ra một chức năng mà trông như thế này:

function hasUpper(str){ 
    if(str != str.toLowerCase()){ 
    return True 
    } 
    else { 
    return False 
    } 
} 

Will tác phẩm này với nhu cầu của tôi?

Cảm ơn!

+1

Lưu ý rằng bạn có thể đơn giản hóa hàm đó thành 'return str! = Str.toLowerCase()'. –

Trả lời

5

Có, điều đó sẽ hiệu quả. Ngẫu nhiên, các từ khóa Boolean là truefalse, chữ thường. :)

+1

Tôi cùng một tĩnh chức năng có thể được rút ngắn thành: hàm hasUpper (str) { return str! == str.toLowerCase(); } Bah, không có định dạng trong ý kiến ​​:-( – HBP

+0

@Hans B PUFAL:. AsddYou có thể định dạng bởi bracketing với nhân vật ngược giọng, đó là lựa chọn thường trên phím dấu ngã (~) – Robusto

+0

không neccesarily - im biểu tượng # là tùy chọn chữ thường trên bàn phím (UK) của tôi Biểu tượng backtick nằm phía trên phím tab –

2

Câu hỏi đặt ra ở đây trả lời dường như chỉ ra rằng ToLower và toUpper là Unicode-aware: Stack OverFlow

Và cái này đi vào nó một cách chi tiết hơn (chỉ ra rằng một số ánh xạ xung đột với thế giới thực): more Stack Overflow

Hy vọng điều này sẽ hữu ích!

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