繁体   English   中英

检查字符串是否仅包含英文字母,数字和符号

[英]Check if string contains only English alphabets , digits and symbols

我想检查仅包含英文字母,数字和符号的字符串。我尝试了以下代码,但仅在所有字符都为不同语言时才可以使用。

if(strlen($string) != mb_strlen($string, 'utf-8'))
    { 
 echo "No English words ";
     }
    else {
echo "only english words"; 
   }

例如

1. hellow hi 123#!@#!@#()#@# -- true
2. ព្រាប សុវ ok yes #@# - false
3. this is good 123 - true
4. ព្រាប -- false

ps:我的问题不是重复的,因为其他问题仅涉及字母和符号,我的问题也涉及符号

是否可以确定字符串是否只是可打印的ASCII? 如果是这样,您可以使用此正则表达式:

[ -~]

http://www.catonmat.net/blog/my-favorite-regex/

如果还需要非ASCII字符,则可以使用Wikipedia页面获取所需的特定unicode格式:

https://zh.wikipedia.org/wiki/List_of_Unicode_characters#Control_codes

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM