字母数字正则表达式匹配

时间:2011-11-21 16:28:48

标签: php regex pattern-matching

我需要一个与字母数字模式匹配的正则表达式,除了完全数字模式。

asdfgesod valid
1asdndwdd valid
asd124asd valid
a2asd43bd valid
123346678 invalid

4 个答案:

答案 0 :(得分:3)

/^[a-z0-9]*[a-z][a-z0-9]*$/i

细分:

^[a-z0-9]* - 字符串以任何数字(包括零)的字母数字字符开头

[a-z] - 字符串有a-z个字符

[a-z0-9]*$ - 字符串以任何数字(包括零)的字母数字字符结尾

答案 1 :(得分:0)

在java StringUtils.isNumeric(String value)的情况下使用,检查字符串是否只包含数字。

顺便说一句:如果字符串与正则表达式匹配:"^\d*$"这意味着它只包含数字。

答案 2 :(得分:0)

您可以尝试:

/^(?![0-9]+$)[a-z0-9]+$/i

See it

[a-z0-9]+$确保字符串仅由字母数字字符组成。

否定前瞻(?![0-9]+$)确保字符串不是全数字。

答案 3 :(得分:0)

解决方案是首先检查字符串是否只包含数字,如果不是,则检查字符串的其余部分。以下正则表达式会这样做:

^(?![\d]+$)[a-z0-9]+$

在此处查看此行动:http://regexr.com?2v8n5