是否有正则表达式检查字符串是否只包含大写字母、小写字母、数字和下划线?
当前回答
这对我很有用。你可以试试:
[\\p{Alnum}_]
其他回答
要检查整个字符串并且不允许空字符串,请尝试
^[A-Za-z0-9_]+$
这里有很多冗长的内容,我非常反对,所以,我的结论是:
/^\w+$/
\w等价于[A-Za-z0-9_],这就是你想要的(除非我们在混合中引入Unicode)。
使用+量词可以匹配一个或多个字符。如果你也想接受一个空字符串,使用*代替。
这在大多数情况下都是可行的。
/^[\d]*[a-z_][a-z\d_]*$/gi
我的意思是,
abcd True
abcd12 True
ab12cd True
12abcd True
1234 False
解释
^……$ -匹配模式的开始和结束 [\d]* -匹配零或多个数字 [a-z_] -匹配字母或下划线 [a-z\d_]* -匹配字母、数字或下划线 /gi -全局匹配字符串,不区分大小写
嗯…问题:它是否至少需要一个字符?它可以是空字符串吗?
^[A-Za-z0-9_]+$
将至少做一个大写或小写字母数字或下划线。如果它的长度可以为零,那么只需用+替换*:
^[A-Za-z0-9_]*$
如果需要包含变音符字符(例如cedilla - ç),那么您将需要使用单词character,其功能与上述相同,但包括变音符字符:
^\w+$
Or
^\w*$
在计算机科学中,字母数字值通常意味着第一个字符不是数字,而是字母或下划线。后面的字符可以是0-9、A-Z、A-Z或下划线。
你可以这样做:
在PHP下测试:
$regex = '/^[A-Za-z_][A-Za-z\d_]*$/'
或者采取
^[A-Za-z_][A-Za-z\d_]*$
并将其放在您的开发语言中。