douyeyan0650 2014-07-24 16:27
浏览 37

只想在字符串中允许某些特定字符

How can I only allow the characters W, L, and D in a string? I have written this

if ((strpos($input, 'w') === false) 
 && (strpos($input, 'd') === false) 
 && (strpos($input, 'l') === false)) { 

 $answer = "FALSE";

} else {

 $answer = "TRUE";

}

but this only works if all the characters are W, L, D or none of the characters are W, L or D. I cant work out how to get it to spot when just some of the characters are incorrect.

eg

wwwlld = TRUE (correct)
12aab6 = FALSE (correct)
www44d = TRUE (incorrect, this needs to be FALSE as it contains '44')

Any help much appreciated.

P

  • 写回答

3条回答 默认 最新

  • doujin4031 2014-07-24 16:33
    关注

    This is a classic example of requiring regular expressions, which are the preg_match function in PHP.

    You probably want to use something like the following

    $pattern = '/^[wdl]*$/';
    

    This would only match a string where between the start and the end of the string, 0 or more characters in the set w, d or l.

    评论

报告相同问题?

悬赏问题

  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算