Có thể trong Javascript để tìm hiểu xem chữ cái đầu tiên của từ có phải là chữ cái viết hoa không?Kiểm tra xem chữ cái đầu tiên có phải là chữ cái viết hoa
Trả lời
var word = "Someword";
console.log(word[0] === word[0].toUpperCase());
hoặc
var word = "Someword";
console.log(/[A-Z]/.test(word[0]));
hoặc
var word = "Someword";
console.log(/^[A-Z]/.test(word));
Xem toUpperCase()
và test()
Yes.
var str = "Hello";
if(str[0].toUpperCase() == str[0])
{
window.alert('First character is upper case.');
}
Được đề xuất vì điều này dường như hoạt động, với một lượng nhỏ thử nghiệm trong Chrome, đối với các ký tự Unicode như "È" (E có mộ) và "ζ" (zeta không phải vốn). –
var string1 = "this is a string";
var string2 = "This is a string";
if(string1[0] == string1[0].toUpperCase())
alert('is upper case');
else
alert('is not upper case');
if(string2[0] == string2[0].toUpperCase())
alert('is upper case');
else
alert('is not upper case');
Bạn có thể làm điều đó bằng nhiều cách:
var myWord = "Hello";
// with string functions
if (myWord.charAt(0) === myWord.charAt(0).toUpperCase()) { /* is upper */ }
// or for newer browsers that support array-style access to string characters
if (myWord[0] === myWord[0].toUpperCase()) { /* is upper */ }
// with regex - may not be appropriate for non-English uppercase
if (/^[A-Z]/.test(myWord) { /* is upper */ }
Lưu ý rằng việc tiếp cận mảng kiểu với những nhân vật như myWord[0]
là một tính năng ECMAScript 5 và không được hỗ trợ trong các trình duyệt cũ, vì vậy (cho bây giờ) Tôi có lẽ muốn giới thiệu phương pháp .charAt().
Nếu bạn cần phải làm xét nghiệm này rất nhiều bạn có thể làm một chức năng nhỏ:
function firstLetterIsUpper(str) {
var f = str.charAt(0); // or str[0] if not supporting older browsers
return f.toUpperCase() === f;
}
if (firstLetterIsUpper(myWord)) { /* do something */ }
Những câu trả lời khác trên trang này cũng tốt cho các chuỗi mà được biết là chỉ chứa các chữ không có dấu A-Z. Nếu bạn không thể đảm bảo điều này (ví dụ: đầu vào của người dùng), họ có thể cho kết quả không mong muốn: dương tính giả cho chữ viết tắt không thể chia sẻ như "1940" hoặc "中文" hoặc âm bản sai cho chữ viết tắt có dấu hoặc không phải chữ La Mã như "Łukasz" hoặc " Александра ".
biến thể này trả về true nếu ban đầu là bất kỳ thư vốn, và chỉ nếu đó là một chữ cái viết hoa:
function initialIsCapital(word){
return word[0] !== word[0].toLowerCase();
}
Sử dụng .charAt(0)
thay vì [0]
if you need IE8 support. Trong đó is faster varies between browsers.
Điều này tránh hai cạm bẫy tiềm năng với các câu trả lời khác:
Regexes sử dụng
[A-Z]
sẽ không phù hợp có dấu và khác tương tự như phi AZ chữ cái tiếng chẳng hạn như trong Åland (đảo Scandinavia) và Łukasz (tên tiếng Ba Lan phổ biến), bao gồm các chữ cái viết hoa trong các chữ viết không phải chữ Latinh như Cyrillic hoặc Greek (ví dụ: Александра).Phương pháp sử dụng
word[0] === word[0].toUpperCase()
, sẽ trở lại đúng vào những từ mà bắt đầu với không chữ, chẳng hạn như năm 1940, , 123reg (tên công ty), chữ viết tắt như 2mrw, hoặc một số từ trong một số ngôn ngữ Châu Phi, chẳng hạn như ! xūún hoặc ǂǐ-sì. Nó cũng sẽ xử lý bất kỳ đầu vào nào từ một bảng chữ cái không có chữ hoa làm chữ hoa (ví dụ:中文).
Vì cách tiếp cận tùy ý-an toàn này chỉ đơn giản và không dễ đọc hơn các lựa chọn thay thế, có thể tốt hơn nếu bạn không lường trước được ngoại lệ như vậy.
Dưới đây là một thử nghiệm nhanh:
function a(word){
return word[0] !== word[0].toLowerCase();
}
function b(word){
return word[0] === word[0].toUpperCase();
}
function c(word){
return /^[A-Z]/.test(word);
}
function test(word, answer){
console.log('Should be '+answer+':', a(word), b(word), c(word), '-------', word);
}
test('Łukasz', true); // regex test fails, returns false
test('Александра', true); // regex test fails, returns false
test('1940s', false); // .toUpperCase() test fails, returns true
test('中文', false); // .toUpperCase() test fails, returns true
test('ß', false); // All pass on German "sharp S" that has no uppercase
test('Z̢̜̘͇̹̭a͎͚͔͕̩̬̭͈͞l̩̱̼̤̣g̲̪̱̼̘̜͟ợ̮̱͎̗̕ͅͅ', true); // All pass. Phew, Zalgo not awakened
let word = 'Someword';
console.log(word.match(new RegExp(/^[A-Z]/)) !== null);
Điều này có thể trả lời câu hỏi, nhưng vui lòng cung cấp giải thích ngắn gọn về mã của bạn và lý do giải thích vấn đề ban đầu. – user1438038
Đối tiếng Anh chỉ chữ:
'A' => 65
'a' => 97
Ý nghĩa, mỗi số giữa [65, 97) là một chữ cái viết hoa:
function startsWithCapitalLetter(word) {
return word.charCodeAt(0) >= 65 && word.charCodeAt(0) < 97;
}
- 1. Chữ cái đầu tiên viết hoa
- 2. SQLite Cập nhật chữ cái đầu tiên là chữ hoa
- 3. SQL: viết hoa chữ cái đầu tiên chỉ
- 4. Kiểm tra xem chữ cái đầu tiên của chuỗi có in hoa
- 5. Viết hoa chữ cái đầu tiên của câu CSS
- 6. Viết hoa chữ cái đầu tiên của mỗi từ
- 7. Cách viết hoa chữ cái đầu tiên của văn bản
- 8. Cách viết hoa chữ cái đầu tiên trong C#
- 9. Viết hoa chữ cái đầu tiên trong ruby
- 10. Viết hoa/Viết hoa chữ cái đầu tiên của mỗi từ trong một chuỗi trong Matlab?
- 11. Chữ cái đầu tiên của Javascript/jQuery chữ hoa đầu tiên với một số ngoại lệ?
- 12. Cách viết hoa chữ cái đầu tiên sau dấu gạch ngang, nghĩa là Adam Smith-Jones
- 13. Viết hoa chữ hoa đầu tiên và chữ thường viết hoa trong một chuỗi
- 14. Kiểm tra xem ký tự có phải là chữ cái trong Delphi (Unicode)
- 15. làm thế nào để chuyển đổi chữ thường để chữ hoa chữ & và chữ cái viết hoa để giảm chữ cái viết
- 16. Làm cách nào để viết hoa chữ cái đầu tiên của từ trong Vim?
- 17. Lấy vị trí của chữ cái viết hoa đầu tiên trong một chuỗi sử dụng php
- 18. Javascript để viết hoa chữ cái tiếp theo sau "Mc"
- 19. Tìm chữ cái nhỏ giữa hai chữ cái viết hoa - MySQL
- 20. strftime làm vốn chữ cái đầu tiên (chữ hoa) trong PHP
- 21. Kiểm tra xem chuỗi có chứa số và chữ cái
- 22. Làm cách nào để viết hoa chữ cái đầu tiên trong một nhãn UILabel?
- 23. Cách kiểm tra xem ký tự trong chuỗi có phải là một chữ cái không? Python
- 24. XSL - Làm cách nào để viết hoa chữ cái đầu tiên
- 25. Thay đổi chữ cái đầu tiên của mỗi dòng trong một tệp thành chữ hoa
- 26. Gửi các chữ cái viết hoa lên TextEdit trong các bài kiểm tra cụ thể
- 27. Tách tại các chữ cái viết hoa trong PHP?
- 28. Cách tìm chữ cái không phải chữ hoa đầu tiên trong chuỗi bằng cách sử dụng python
- 29. Tự động viết hoa chữ cái đầu tiên của từ đầu tiên trong một câu mới trong LaTeX
- 30. Không gian T-SQL Trước các chữ cái viết hoa
Kiểm tra tại đây http://stackoverflow.com/questions/1027224/how-can-i-test-if-a-letter-in-a-string-is-uppercase-or-lowercase-using- javascrip – Cyclonecode
EDIT: Có. Hãy thử '/^[AZ] /. Test (cụm từ)' ([ở đây] (http://jsfiddle.net/uAwQL/1/)) –
@DavidRodrigues bẫy hố tiềm năng ở đó, '[AZ]' không khớp chữ viết hoa có dấu trọng âm hoặc không phải ASCII, xem câu trả lời mới http://stackoverflow.com/a/39292247/568458 – user568458