Maison  >  Article  >  développement back-end  >  Comment valider la saisie de caractères chinois à l'aide d'expressions régulières PHP

Comment valider la saisie de caractères chinois à l'aide d'expressions régulières PHP

WBOY
WBOYoriginal
2023-06-24 08:51:161041parcourir

Avec la popularisation d'Internet et les progrès de l'internationalisation, de plus en plus d'utilisateurs viennent de divers pays et régions, et l'utilisation de la saisie de caractères chinois a également augmenté dans la saisie des utilisateurs. La vérification des caractères chinois est une partie importante pour certains sites Web chinois ou internationaux. Pour les développeurs, il est indispensable de comprendre comment utiliser les expressions régulières PHP pour vérifier la saisie des caractères chinois.

PHP est un langage de programmation serveur couramment utilisé. Il est privilégié par de nombreux développeurs pour sa simplicité, sa facilité d'apprentissage, son ouverture et sa liberté. Les expressions régulières sont un outil puissant pour traiter du texte. Elles sont hautement portables et peuvent être utilisées dans différents langages de programmation. Par conséquent, il est très pratique de vérifier la saisie des caractères chinois via les expressions régulières PHP.

Ensuite, je présenterai comment utiliser les expressions régulières PHP pour vérifier la saisie de caractères chinois et comment gérer certaines situations particulières qui peuvent survenir lors de la saisie de caractères chinois.

1. Vérification des expressions régulières PHP de la saisie de caractères chinois

En PHP, utilisez la fonction preg_match() pour faire correspondre les expressions régulières :

preg_match( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]]): int|false

Parmi eux, $pattern est le modèle d'expression régulière à utiliser. matched. , $subject est la chaîne à mettre en correspondance, $matches est utilisé pour stocker les résultats correspondants. Si la correspondance réussit, 1 est renvoyé, sinon 0 est renvoyé.

Pour vérifier la saisie des caractères chinois, nous pouvons utiliser l'expression régulière suivante :

$pattern = '/^[u4e00-u9fa5]+$/u';

Cette expression régulière signifie faire correspondre les chaînes qui commencent et se terminent par des caractères chinois. [u4e00-u9fa5] est la plage de caractères chinois en codage Unicode, et u signifie que le codage UTF-8 est utilisé. [u4e00-u9fa5]是Unicode编码中汉字的范围,u则表示采用UTF-8编码。

接着,使用preg_match()函数进行验证:

if (preg_match($pattern, $input)) {
    echo "验证成功!";
} else {
    echo "验证失败!";
}

其中,$input为要验证的字符串。如果验证成功,输出“验证成功!”;否则输出“验证失败!”即可。

二、处理汉字输入中的特殊情况

对于一些特殊情况,可能需要对上述正则表达式进行调整。

  1. 全角字符

在一些情况下,汉字输入可能会使用全角字符,而不是半角字符。因此,需要对正则表达式进行改进:

$pattern = '/^[x{3000}-x{303F}x{4e00}-x{9fa5}x{FF00}-x{FFEF}]+$/u';

其中,x{3000}-x{303F}表示匹配全角符号,x{FF00}-x{FFEF}则表示匹配全角中英文符号。

  1. 部分汉字

在部分汉字输入中,可能会出现一些特殊的符号,例如生僻字、汉字部首等。为了能够匹配这些汉字,需要使用Unicode字符集。

$pattern = "/^[x{4e00}-x{9fa5}x{3400}-x{4DBF}x{20000}-x{2A6DF}x{2A700}-x{2B73F}x{2B740}-x{2B81F}x{2B820}-x{2CEAF}x{2CEB0}-x{2EBEF}x{2F800}-x{2FA1F}]+$/u";

其中,x{3400}-x{4DBF}匹配CJK扩展A,x{20000}-x{2A6DF}匹配CJK扩展B,x{2A700}-x{2B73F}匹配CJK扩展C,x{2B740}-x{2B81F}匹配CJK扩展D,x{2B820}-x{2CEAF}匹配CJK扩展E,x{2CEB0}-x{2EBEF}匹配CJK扩展F,x{2F800}-x{2FA1F}匹配CJK兼容扩展。

  1. 空格、换行符、制表符等空白字符

在部分情况下,汉字输入中可能会包含空格、换行符、制表符等空白字符。此时,需要在正则表达式中加入匹配空白字符的语句。

$pattern = '/^[\s\S]*|^[x{4e00}-x{9fa5}x{3400}-x{4DBF}x{20000}-x{2A6DF}x{2A700}-x{2B73F}x{2B740}-x{2B81F}x{2B820}-x{2CEAF}x{2CEB0}-x{2EBEF}x{2F800}-x{2FA1F}]+$/u';

其中,[sS]*匹配任意空白字符;|

Ensuite, utilisez la fonction preg_match() pour vérifier :

rrreee

où $input est la chaîne à vérifier. Si la vérification est réussie, affichez "Vérification réussie!", sinon affichez "Échec de la vérification!".

2. Gestion des situations spéciales lors de la saisie de caractères chinois

Pour certaines situations particulières, les expressions régulières ci-dessus peuvent devoir être ajustées. 🎜
  1. Caractères pleine chasse
🎜Dans certains cas, la saisie de caractères chinois peut utiliser des caractères pleine chasse au lieu de caractères demi-chasse. Par conséquent, l'expression régulière doit être améliorée : 🎜rrreee🎜 Parmi eux, x{3000}-x{303F} signifie faire correspondre des symboles pleine chasse, x{FF00}-x{FFEF signifie faire correspondre les symboles chinois et anglais sur toute la largeur. 🎜
  1. Certains caractères chinois
🎜Lors de la saisie de certains caractères chinois, certains symboles spéciaux peuvent apparaître, tels que des caractères rares, des radicaux chinois, etc. Afin de pouvoir faire correspondre ces caractères chinois, le jeu de caractères Unicode doit être utilisé. 🎜rrreee🎜Parmi eux, x{3400}-x{4DBF} correspond à l'extension CJK A, x{20000}-x{2A6DF} correspond à l'extension CJK B, x{2A700}-x{2B73F} correspond à l'extension CJK C, x{2B740}-x{2B81F} correspond à l'extension CJK D, x{2B820}-x{ 2CEAFcorrespond à l'extension CJK E, x{2CEB0}-x{2EBEF} correspond à l'extension CJK F, x{2F800}-x{2FA1F} correspond à CJK Rallonge compatible. 🎜
  1. Espaces, nouvelles lignes, tabulations et autres caractères d'espacement
🎜Dans certains cas, la saisie de caractères chinois peut contenir des espaces, des nouvelles lignes, des tabulations, etc. et d'autres espaces. personnages. À ce stade, vous devez ajouter une instruction qui correspond aux caractères d'espacement à l'expression régulière. 🎜rrreee🎜Parmi eux, [sS]* correspond à n'importe quel caractère vide ; | signifie ou ; la seconde moitié signifie la correspondance des caractères chinois. 🎜🎜En gérant ces situations particulières, la saisie des caractères chinois peut être vérifiée de manière plus complète. 🎜🎜3. Conclusion🎜🎜Utiliser des expressions régulières PHP pour vérifier la saisie de caractères chinois est une compétence très pratique. Grâce à des expressions régulières appropriées, la saisie des caractères chinois peut être vérifiée efficacement. Dans le même temps, des ajustements appropriés des expressions régulières basés sur les conditions réelles peuvent mieux répondre aux besoins réels. Par conséquent, il est essentiel que les développeurs maîtrisent la méthode de vérification de la saisie des caractères chinois à l'aide des expressions régulières PHP, et cela fait également partie des compétences en programmation. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn