php中的preg_match

时间:2010-06-03 11:37:59

标签: php regex

我想使用preg_match(),以便在给定的字符串中不应该有特殊字符,例如``@#$%^& /'`。

例如:

Coding:输出有效
:输出无效(以空格开头的字符串)
Project management:输出有效(两个单词之间的空格有效)
'Design23':输出有效
23Designing:输出无效的 123:输出无效

我试过但无法找到有效答案。

3 个答案:

答案 0 :(得分:2)

这样的正则表达式有帮助吗?

^[a-zA-Z0-9]\w*$

这意味着:

  • ^ =此模式必须从字符串的开头
  • 开始
  • [a-zA-Z0-9] =此字符可以是任意字母(a-zA-Z)或数字(0-9,也可以是\d
  • \w =一个单词字符。这包括字母,数字和空格(默认情况下不是新行)
  • * =重复0次或更多次
  • $ =此模式必须在字符串
  • 的末尾完成

为了满足我错过的条件,试试这个

^[a-zA-Z0-9]*\w*[a-zA-Z]+\w*$

我添加的额外内容让它有一个第一个字符的数字,但由于[a-zA-Z]+ +,因此必须始终包含一个字母。

答案 1 :(得分:0)

尝试

'/^[a-zA-Z][\w ]+$/'

答案 2 :(得分:0)

如果这是家庭作业,你可能应该学习正则表达式: