作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在寻找一个正则表达式来检查字符串是否仅由字母 a-z、数字、下划线 (_
) 和连字符 (-
) 组成。我试过这个,但它不起作用:
if (!preg_match('/^a-zA-Z0-9_-$/', $string)) {
$reg_Error[] = 2;
}
另外,我可以用正则表达式检查长度吗?如果没有,我就用 PHP 来做。
最佳答案
您必须将正则表达式 /^a-zA-Z0-9_-$/
放入字符类 /[...]/
中。
这意味着您可以匹配字符类中的任何 字符。您还应该指定一个量词,因为 /^[a-zA-Z0-9_-]$/
将只匹配一个字符。
例子:/^[a-zA-Z0-9_-]+$/
与 +
符号匹配一次或多次/^[a-zA-Z0-9_-]{1,}$/
同上/^[a-zA-Z0-9_-]{10,20}$/
长度在 10 到 20 个字符之间。/^[a-zA-Z0-9_-]{15}$/
它的长度必须恰好 15 个字符。您可以使用它来检查字符串长度。
您还可以使用以下关键字使您的正则表达式易于阅读:/^[\w-]+$/
匹配单词字符(包括下划线、字母和数字)或破折号,一次或多次。
关于php - 需要一个正则表达式来检查字符串是否只包含字母 a-z 和数字以及下划线 (_) 和连字符 (-),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1222752/
我是一名优秀的程序员,十分优秀!