在PHP中检测字符串是否包含标点符号或重音字符
我一直在网上寻找问题的答案。 我希望用户输入一个登录名来创建他的帐户,但我需要检查登录名中是否有任何标点符号或重音字符。 总而言之,我只想要这类角色: [0-9]或[a-z]或[a-z]或任何亚洲字符(亚洲标点符号除外) 我一直在想的是在我的字符串上做一个循环,看看实际的字符是否等于发音或重音字符,但是有太多的标点符号和重音字符,我要花很长时间才能全部写出来。事实上,我不知道亚洲书写系统中使用的所有标点符号在PHP中检测字符串是否包含标点符号或重音字符,php,arrays,string,punctuation,Php,Arrays,String,Punctuation,我一直在网上寻找问题的答案。 我希望用户输入一个登录名来创建他的帐户,但我需要检查登录名中是否有任何标点符号或重音字符。 总而言之,我只想要这类角色: [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是一个范围。我也不确定亚洲标点符号是什么样子,但我认为它可能会有所不同。