Hướng dẫn how do i check if a letter is uppercase in php? - làm cách nào để kiểm tra xem một chữ cái có phải là chữ hoa trong php không?

(Php 4> = 4.0.4, Php 5, Php 7, Php 8)

CTYPE_UPPER - Kiểm tra (các) ký tự chữ hoaCheck for uppercase character(s)

Sự mô tả

ctype_upper (hỗn hợp $text): bool(mixed $text): bool

Thông số

text

Chuỗi được kiểm tra.

Ghi chú::

Nếu bao gồm một int giữa -128 và 255, nó được hiểu là giá trị ASCII của một ký tự duy nhất (giá trị âm có 256 được thêm vào để cho phép các ký tự trong phạm vi ASCII mở rộng). Bất kỳ số nguyên nào khác được hiểu là một chuỗi chứa các chữ số thập phân của số nguyên.int between -128 and 255 inclusive is provided, it is interpreted as the ASCII value of a single character (negative values have 256 added in order to allow characters in the Extended ASCII range). Any other integer is interpreted as a string containing the decimal digits of the integer.

Cảnh báo

Kể từ Php 8.1.0, việc chuyển một đối số không chuỗi được không phản đối. Trong tương lai, đối số sẽ được hiểu là một chuỗi thay vì một codepoint ASCII. Tùy thuộc vào hành vi dự định, đối số nên được chuyển vào chuỗi hoặc một cuộc gọi rõ ràng đến chr () nên được thực hiện.string or an explicit call to chr() should be made.

Trả về giá trị

Trả về true nếu mọi ký tự trong text là một chữ cái viết hoa trong ngôn ngữ hiện tại. Khi được gọi với một chuỗi trống, kết quả sẽ luôn là

echo preg_match('~^\p{Lu}~u', $string) ? 'upper' : 'lower';
0.true if every character in text is an uppercase letter in the current locale. When called with an empty string the result will always be
echo preg_match('~^\p{Lu}~u', $string) ? 'upper' : 'lower';
0
.

Ví dụ

Ví dụ #1 ví dụ CTYPE_UPPER () (sử dụng locale mặc định)ctype_upper() example (using the default locale)

echo preg_match('~^\p{Lu}~u', $string) ? 'upper' : 'lower';
1

Ví dụ trên sẽ xuất ra:

The string AKLWC139 does not consist of all uppercase letters.
The string LMNSDO consists of all uppercase letters.
The string akwSKWsm does not consist of all uppercase letters.

Xem thêm

  • CTYPE_ALPHA () - Kiểm tra (các) ký tự chữ cái
  • ctype_lower () - Kiểm tra (các) ký tự chữ thường
  • setlocale () - Đặt thông tin địa phương

Theo ý kiến ​​của tôi, việc thực hiện cuộc gọi

echo preg_match('~^\p{Lu}~u', $string) ? 'upper' : 'lower';
2 là cuộc gọi trực tiếp, ngắn gọn và đáng tin cậy nhất so với các giải pháp được đăng khác ở đây.

echo preg_match('~^\p{Lu}~u', $string) ? 'upper' : 'lower';

Sự cố mô hình của tôi:

~      # starting pattern delimiter 
^      #match from the start of the input string
\p{Lu} #match exactly one uppercase letter (unicode safe)
~      #ending pattern delimiter 
u      #enable unicode matching

Vui lòng thông báo khi

echo preg_match('~^\p{Lu}~u', $string) ? 'upper' : 'lower';
3 và
echo preg_match('~^\p{Lu}~u', $string) ? 'upper' : 'lower';
4 không thành công với pin thử nghiệm này.

Mã: (Demo)

$tests = ['âa', 'Bbbbb', 'Éé', 'iou', 'Δδ'];

foreach ($tests as $test) {
    echo "\n{$test}:";
    echo "\n\tPREG:  " , preg_match('~^\p{Lu}~u', $test)      ? 'upper' : 'lower';
    echo "\n\tCTYPE: " , ctype_upper(mb_substr($test, 0, 1))  ? 'upper' : 'lower';
    echo "\n\t< a:   " , mb_substr($test, 0, 1) < 'a'         ? 'upper' : 'lower';

    $chr = mb_substr ($test, 0, 1, "UTF-8");
    echo "\n\tMB:    " , mb_strtoupper($chr, "UTF-8") == $chr ? 'upper' : 'lower';
}

Output:

âa:
    PREG:  lower
    CTYPE: lower
    < a:   lower
    MB:    lower
Bbbbb:
    PREG:  upper
    CTYPE: upper
    < a:   upper
    MB:    upper
Éé:               <-- trouble
    PREG:  upper
    CTYPE: lower  <-- uh oh
    < a:   lower  <-- uh oh
    MB:    upper
iou:
    PREG:  lower
    CTYPE: lower
    < a:   lower
    MB:    lower
Δδ:               <-- extended beyond question scope
    PREG:  upper  <-- still holding up
    CTYPE: lower
    < a:   lower
    MB:    upper  <-- still holding up

Nếu bất cứ ai cần phân biệt giữa các chữ cái viết hoa, chữ thường và những người không có chữ sẽ thấy bài đăng này.


Nó có thể đang mở rộng phạm vi của câu hỏi này quá xa, nhưng nếu các ký tự đầu vào của bạn đặc biệt là squirrelly (chúng có thể không tồn tại trong một danh mục mà

echo preg_match('~^\p{Lu}~u', $string) ? 'upper' : 'lower';
5 có thể xử lý), bạn có thể muốn kiểm tra xem ký tự đầu tiên có biến thể trường hợp không:

\ p {l &} hoặc \ p {cased_letter}: một chữ cái tồn tại trong các biến thể chữ thường và chữ hoa (kết hợp LL, LU và LT).

  • Nguồn: https://www.regular- expressions.info/unicode.html

Để bao gồm các chữ số La Mã ("chữ số số") với các biến thể

echo preg_match('~^\p{Lu}~u', $string) ? 'upper' : 'lower';
6, bạn có thể thêm phạm vi bổ sung đó vào mẫu nếu cần thiết.

https://www.fileformat.info/info/unicode/category/Nl/list.htm

Mã: (Demo)

echo preg_match('~^[\p{Lu}\x{2160}-\x{216F}]~u', $test) ? 'upper' : 'not upper';

Làm thế nào để bạn kiểm tra xem một ký tự là chữ hoa?

Kiểm tra giá trị ASCII của mỗi ký tự cho các điều kiện sau: Nếu giá trị ASCII nằm trong phạm vi [65, 90], thì đó là một chữ cái viết hoa.Nếu giá trị ASCII nằm trong phạm vi [97, 122], thì đó là một chữ cái viết thường.If the ASCII value lies in the range of [65, 90], then it is an uppercase letter. If the ASCII value lies in the range of [97, 122], then it is a lowercase letter.

Làm thế nào để bạn kiểm tra xem một ký tự trong chuỗi là chữ hoa?

Để kiểm tra xem một chữ cái trong chuỗi có phải là chữ hoa hoặc chữ thường sử dụng phương thức TOUPPERCase () để chuyển đổi chữ cái thành chữ hoa và so sánh nó với chính nó.Nếu so sánh trả về đúng, thì chữ cái được viết hoa, nếu không thì đó là chữ thường.use the toUpperCase() method to convert the letter to uppercase and compare it to itself. If the comparison returns true , then the letter is uppercase, otherwise it's lowercase.

Làm thế nào tôi có thể bán chữ hoa trong PHP?

Hàm strtouper () chuyển đổi một chuỗi thành chữ hoa.Lưu ý: Hàm này an toàn cho nhị phân.Các hàm liên quan: Strtolower () - Chuyển đổi một chuỗi thành chữ thường.strtoupper() function converts a string to uppercase. Note: This function is binary-safe. Related functions: strtolower() - converts a string to lowercase.

Làm thế nào để bạn kiểm tra xem một chuỗi là tất cả các chữ thường?

Phương thức isLower () trả về true nếu tất cả các ký tự trong chuỗi là chữ thường, nếu không, trả về FALL FALSE.Nó trả về một cách đúng sự thật cho các không gian trắng nhưng nếu chỉ có khoảng trắng trong chuỗi thì hãy trả về Sai Sai.islower() method returns True if all characters in the string are lowercase, otherwise, returns “False”. It returns “True” for whitespaces but if there is only whitespace in the string then returns “False”.