Maison > Article > développement back-end > Comment valider la saisie de caractères chinois à l'aide d'expressions régulières PHP
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.
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为要验证的字符串。如果验证成功,输出“验证成功!”;否则输出“验证失败!”即可。
对于一些特殊情况,可能需要对上述正则表达式进行调整。
在一些情况下,汉字输入可能会使用全角字符,而不是半角字符。因此,需要对正则表达式进行改进:
$pattern = '/^[x{3000}-x{303F}x{4e00}-x{9fa5}x{FF00}-x{FFEF}]+$/u';
其中,x{3000}-x{303F}
表示匹配全角符号,x{FF00}-x{FFEF}
则表示匹配全角中英文符号。
在部分汉字输入中,可能会出现一些特殊的符号,例如生僻字、汉字部首等。为了能够匹配这些汉字,需要使用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兼容扩展。
在部分情况下,汉字输入中可能会包含空格、换行符、制表符等空白字符。此时,需要在正则表达式中加入匹配空白字符的语句。
$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]*
匹配任意空白字符;|
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 chinoisPour certaines situations particulières, les expressions régulières ci-dessus peuvent devoir être ajustées. 🎜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. 🎜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{ 2CEAF
correspond à l'extension CJK E, x{2CEB0}-x{2EBEF}
correspond à l'extension CJK F, x{2F800}-x{2FA1F}
correspond à CJK Rallonge compatible. 🎜[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!