グーグルはあまり助けていないので、ここにいる誰かが私を助けてくれることを願っていますか?
preg_match(‘^(MR|MRS)./s[a-z]/s[a-z]$/i’, $_POST[‘fullname’])
Mr.またはMrs.の敬意を表した名前の後に、任意の数のスペースで区切られた2つのテキスト文字列を使用できる正規表現が必要です。鉱山が機能しておらず、理由がわかりません。前もって感謝します!
グーグルはあまり助けていないので、ここにいる誰かが私を助けてくれることを願っていますか?
preg_match(‘^(MR|MRS)./s[a-z]/s[a-z]$/i’, $_POST[‘fullname’])
Mr.またはMrs.の敬意を表した名前の後に、任意の数のスペースで区切られた2つのテキスト文字列を使用できる正規表現が必要です。鉱山が機能しておらず、理由がわかりません。前もって感謝します!
正規表現は無効な構文です。同じ区切り文字で開始および終了する必要があります。
preg_match(‘/^mrs?\.\s+[a-z]+\s+[a-z]+$/i’, $_POST[‘fullname’])
............^..........................^
ただし、これは壊れやすい正規表現であることに注意してください。複数の名を使用したり、ミドルネームを使用したり、二重姓を使用したり、名前にアクセントを付けたりすることは珍しくありません。たとえば、Zöeです。
/ - start regex
^mr - string starts with mr
s? - optional "s"
\. - period
\s+ - 0 or more whitespace chars (tabs or spaces)
[a-z]+ - 0 or more letters
\s+ - 0 or more whitespace chars (tabs or spaces)
[a-z]+ - 0 or more letters
$ - end of string
/ - end of regex
i - whole regex is case insensitive.
[AZ]?[a-zA-Z] {1,30} []?[。]?[']?[]?[a-zA-Z] {1,30} []?[。]?[ ']?[]?[a-zA-Z] {0,30} []?[a-zA-Z] {0,30}
次の名前で動作します。
などなど...
これを試して :
preg_match("/^(MR|MRS)\.?(\s*\w*)+$/i", $_POST[‘fullname’])
ドットがオプションでない場合は、「?」を削除してください