如何编写仅匹配数字字母和逗号的正则表达式?
我想出了下面这个,但它不起作用——它也接受其他标点符号!
# 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."/>';
}
非常感谢,
刘
你要:
/^[a-zA-Z0-9,]+$/
你需要开始^
并结束$
的弦锚。如果没有它们,正则表达式引擎将查找字符串中的任何字符,如果找到,它就会到此为止并说存在匹配。有了锚,它迫使引擎查看整个字符串。基本上:
-
/[a-zA-Z0-9,]+/
匹配如果any字符是字母数字+逗号。
-
/^[a-zA-Z0-9,]+$/
匹配如果all字符是字母数字+逗号。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)