php 正则表达式 只能包含字母和数字
例如
$a = "123";
$b = "acb";
$c = "abc123";
abc变量都可以通过判断
实在不会正则 多谢大佬了/抱拳 展开
式子:/^[a-zA-Z0-9]+$/u
释义:
"/":表示正则表达式的定义,固定写法。
"^":表示开头。
"[]":表示字符组。匹配所包含的任意一个字符。如,“[ab]”匹配“plain”中的“a”。
"a-z":表示匹配小写字母a-z的字母范围。
"A-Z":表示匹配大写字母A-Z的字母范围。
"0-9":表示匹配0-9的数字范围。
"+":表示匹配次数大于等于1。
"$":匹配输入行尾。如果设置了RegExp对象Multiline属性,$也匹配“\n”或“\r”之前的位置。
"u":最后的u是模式修饰符,严格的说可能叫预定义常量。表示使用unicode进行匹配。
扩展资料:
其它正则表达式符号的含义:
1、"*":匹配前面的子表达式任意次。例如,zo*能匹配“z”,也能匹配“zo”以及“zoo”。*等价于{0,}。
2、"?":匹配前面的子表达式零次或一次。例如,“do(es)?”可以匹配“do”或“does”。?等价于{0,1}。
3、"{n}":n是一个非负整数。匹配确定的n次。例如,“o{2}”不能匹配“Bob”中的“o”,但是能匹配“food”中的两个o。
4、"{n,}":n是一个非负整数。至少匹配n次。例如,“o{2,}”不能匹配“Bob”中的“o”,但能匹配“foooood”中的所有o。“o{1,}”等价于“o+”。“o{0,}”则等价于“o*”。
5、"{n,m}":m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。例如,“o{1,3}”将匹配“fooooood”中的前三个o为一组,后三个o为一组。“o{0,1}”等价于“o?”。请注意在逗号和两个数之间不能有空格。
参考资料来源:百度百科-正则表达式
式子:/^[a-zA-Z0-9]+$/u
释义:
(1)“/”:正则表达式的定义,固定的书写形式;
(2)“^”:表示开始;
(3)“[]”:表示一个字符组,匹配包含的任何字符。例如,“[ab]”匹配“plain”中的“a”;
(4)“a-z”:与小写字母a-z匹配的字母范围;
(5)“A-Z”:表示与大写字母A-Z匹配的字母范围;
(6)“0-9”:匹配范围为0-9的数字;
(7)“+”:表示匹配数为一个或多个;
(8)“$”:匹配输入行的结尾。如果设置了RegExp对象的Multiline属性,则$也匹配“\n”或“\r”之前的位置;
(9)“u”:最后一个u是模式修饰符,严格来说,它可以是预定义的常数。表示使用unicode进行匹配。
扩展资料:
其它正则表达式符号的含义:
(1)“*”:与上一个子表达式匹配任意次。例如,zo*匹配“z”以及“zo”和“zoo”。*等效于{0,};
(2)“?”:匹配上一个子表达式零或一次。例如,“做(es)?”匹配“do”或“does”。?等效于{0,1};
(3)“{n}”:n是一个非负整数。匹配被确定n次。例如,“o{2}”不能与“Bob”中的“o”匹配,但是可以与“food”中的两个o匹配;
(4)“{n,}”:n是一个非负整数。至少匹配n次。例如,“o{2,}”不能匹配“Bob”中的“o”,但是可以匹配“foooood”中的所有o。“o{1,}”等效于“o+”。“o{0,}”等效于“o*”;
(5)“ {n,m}”:m和n是非负整数,其中n <= m。 至少匹配n次,最多匹配m次。 例如,“ o {1,3}”将匹配“ fooooood”中的前三个o作为一个组,最后三个o作为一个组。 “ o {0,1}”等效于“ o?”。 请注意,逗号和两个数字之间不能有空格。
参考资料来源:
<?php
$regex = '/^[ a-z0-9]$/i';
$str = 'abc123';
if(preg_match($regex, $str)){
//符合条件的情况,如果处理不符合的情况,在Else里面进行处理;
}
echo "\n";
?>
示例如上
我用的
if(!preg_match($regex, $str, $matches))
判断的。不可行。
我的意思是说只能是"纯字母"或"纯数字"或"字母数字组合"
抱歉,正则中少了一个加号,在中括号后面