Php 预匹配:仅数字字母和逗号
如何编写只匹配数字字母和逗号的正则表达式 我在下面列出了这个,但它不起作用-它也接受其他标点符号Php 预匹配:仅数字字母和逗号,php,regex,preg-match,Php,Regex,Preg Match,如何编写只匹配数字字母和逗号的正则表达式 我在下面列出了这个,但它不起作用-它也接受其他标点符号 # check for matches number-alphabets and commas only if(!preg_match('/([a-zA-Z0-9]|[a-zA-Z0-9\,])/', $cst_value)) { $error = true; echo '<error elementid="usr_username" message="'.$cst_nam
# check for matches number-alphabets and commas only
if(!preg_match('/([a-zA-Z0-9]|[a-zA-Z0-9\,])/', $cst_value))
{
$error = true;
echo '<error elementid="usr_username" message="'.$cst_name.' - please use number-alphabets and commas only."/>';
}
#仅检查数字字母和逗号是否匹配
如果(!preg_匹配('/([a-zA-Z0-9]|[a-zA-Z0-9\,])/',$cst_值))
{
$error=true;
回声';
}
非常感谢,,
刘您想要:
/^[a-zA-Z0-9,]+$/
您需要字符串锚定的开始^
和结束$
。如果没有它们,正则表达式引擎将在字符串中查找这些字符中的任何一个,如果找到一个,它将在一天内调用它并说有匹配项。通过锚定,它强制引擎查看整个字符串。基本上:
如果任何字符是字母数字+逗号,则匹配/[a-zA-Z0-9,]+/
- 如果所有字符都是字母数字+逗号,则匹配
/^[0-9a-z,]+$/i
说明:
:正则表达式分隔符/
:开始锚定^
:字符类[…]
:任意数字0-9
:任何字母表a-z
:逗号。逗号不是正则表达式 metachar,所以你不需要逃避它,
:一个或多个的量词。如果 空输入被认为是有效的, 将+
更改为+
*
:端锚$
:制作匹配的案例 麻木不仁i
/^[\w,]*$/
但这应该行得通
/^[a-zA-Z0-9,]*$/
\w
不包含空格。嗯,我认为\w也包含空格,但看了之后没有。感谢大家每天学习使用preg_replace(“/[^a-zA-Z0-9]/”,“,$string”);仅剥离数字和字符的步骤:谢谢你的想法。我只想在逗号后面有一些字母数字字符时匹配逗号(和前面的字母数字字符),否则就留下逗号和前面的所有字符。我如何做到这一点?
/^[a-zA-Z0-9,]*$/