Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中检测字符串是否包含标点符号或重音字符_Php_Arrays_String_Punctuation - Fatal编程技术网

在PHP中检测字符串是否包含标点符号或重音字符

在PHP中检测字符串是否包含标点符号或重音字符,php,arrays,string,punctuation,Php,Arrays,String,Punctuation,我一直在网上寻找问题的答案。 我希望用户输入一个登录名来创建他的帐户,但我需要检查登录名中是否有任何标点符号或重音字符。 总而言之,我只想要这类角色: [0-9]或[a-z]或[a-z]或任何亚洲字符(亚洲标点符号除外) 我一直在想的是在我的字符串上做一个循环,看看实际的字符是否等于发音或重音字符,但是有太多的标点符号和重音字符,我要花很长时间才能全部写出来。事实上,我不知道亚洲书写系统中使用的所有标点符号 你知道我该怎么办吗?谢谢大家! 您的意思是只允许字母数字字符?如果是,请使用正则表达式。

我一直在网上寻找问题的答案。 我希望用户输入一个登录名来创建他的帐户,但我需要检查登录名中是否有任何标点符号或重音字符。 总而言之,我只想要这类角色: [0-9]或[a-z]或[a-z]或任何亚洲字符(亚洲标点符号除外)

我一直在想的是在我的字符串上做一个循环,看看实际的字符是否等于发音或重音字符,但是有太多的标点符号和重音字符,我要花很长时间才能全部写出来。事实上,我不知道亚洲书写系统中使用的所有标点符号


你知道我该怎么办吗?谢谢大家!

您的意思是只允许字母数字字符?如果是,请使用正则表达式。请参见下面的示例代码

if( preg_match('/^[a-z0-9.,!?:;"-_\']+$/i', $str)){ // Remove unwanted chars if you don't need to include all 
    echo 'Success';
}else{
    echo 'Error!';
}

有关更多详细信息,请参阅本文档

这将不符合除亚洲标点符号外的任何亚洲字符要求。是。很抱歉编辑了我的回复。这仍然与亚洲字符不匹配,并且-u是一个范围。我也不确定亚洲标点符号是什么样子,但我认为它可能会有所不同。