-6

我用过这个...我在某个网站上看到过这个..但它对我的帮助不是很好。

if(preg_match("/^[A-Za-z0-9-_\",'\s]+$/",$newPass)) {
    //is valid..
}
4

1 回答 1

1

如果要测试字符串是否包含至少一个字母数字字符串和至少一个非字母数字字符串,请使用以下正则表达式:

/^(?=.*[a-z0-9])(?=.*[^a-z0-9])/i

分手:

  • /正则表达式的开始
  • ^匹配字符串的开头
  • (?=如果存在以下内容:
    • .*任何东西(换行符除外),然后
    • [a-z0-9]一个字母数字字符
  • )前瞻结束
  • (?=如果存在以下内容:
    • .*任何东西(换行符除外),然后
    • [^a-z0-9]非字母数字字符
  • )前瞻结束
  • /正则表达式的结尾
  • i不区分大小写

用法:

if(preg_match("/^(?=.*[a-z0-9])(?=.*[^a-z0-9])/i",$newPass)) {
    //is valid..
}

如果您需要字母和数字都存在,请将第一个前瞻替换为两个:

/^(?=.*[a-z])(?=.*[0-9])(?=.*[^a-z0-9])/i
于 2012-12-20T19:16:34.443 回答