0

少なくとも 1 つの数字と少なくとも 1 つの文字 (大文字か小文字かに関係なく) を含む入力を許可する正規表現を作成しようとしています。これが私が思いついたものです:

<?php
    if (preg_match('/(?=.*[a-z]+)(?=.*[0-9]+)([^\W])/i',$code)) {
    echo "=)";
    } else {
    echo "=(";
    }
?>

数字のみまたは文字のみを使用すると false になりますが、$ または # またはその他の英数字以外の記号を追加すると true になります。ここで、^\W を az と 0-9 の両方でクラス ブラケットに入れてみました。しかし、私はそれを機能させることができません。英数字以外を入力しても true になります。ハーフミーイー

4

2 に答える 2

0

あなたはphpを使用しているので、なぜ正規表現を使用するのですか?使用できますctype_alnum()

http://php.net/manual/en/function.ctype-alnum.php

于 2013-07-07T16:08:54.707 に答える