>백엔드 개발 >PHP 튜토리얼 > 问上正则的有关问题

问上正则的有关问题

WBOY
WBOY원래의
2016-06-13 12:52:16801검색

问下正则的问题
用户名,可以输入中文也可以输入英文,
我要如何写正则来判断呢。
不能中英混输,
中文10个汉字以内。英文在30个字母以内都可以。
大家说说怎么用正则来处理这类问题呢?


------解决方案--------------------
中文 ===》\x{4e00}-\x{9fa5}

英文  a-z
因此可以:

/^([\x{4e00}-\x{9fa5}]{1,10}
------解决方案--------------------
[a-z]{1,30})$/iu
不知道你是否允许空格
<br />
	$pattern = "/^([\x{4e00}-\x{9fa5}]{1,10}<br><font color='#FF8000'>------解决方案--------------------</font><br>[a-z]{1,30})$/iu";<br />
	$test = array("这是中文","中文and英文","thisisenglish");<br />
	<br />
	foreach($test as $word){<br />
		echo $word;<br />
		echo " : ";<br />
		echo preg_match($pattern,$word);<br />
		echo "<br/>"; 		<br />
	}<br />

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.