0

文字列に、正確に10桁の連続した数字のシリーズが少なくとも1つ含まれているかどうかを確認するにはどうすればよいですか?

例えば:

1234567890 合格

asdf 1234567890 asdf 合格

asdf 1234567890 asdf 1234567890 合格

asdf1234567890asdf 合格

asdf 123456789 asdf 不合格

asdf 12345678901 asdf 不合格

asdf 12345 67890 asdf 不合格

等...

4

3 に答える 3

3
/(^|\D)\d{10}($|\D)/

これは、行頭または非数字が先行し、行末または非数字が続く 10 桁に一致します。

正規表現

于 2013-05-16T01:29:15.723 に答える
2

数字以外の場合は、否定先読みと後読みを使用できます。これは数字以外の一致とは異なることに注意してください。また、唯一のキャプチャ グループ (括弧を使用する場合) には、探している 10 桁の数字が正確に含まれています。

フィドル

(?<![0-9])([0-9]{10})(?![0-9])

-- または -- (同じものを短くする)

(?<!\d)(\d{10})(?!\d)
于 2013-05-16T01:47:50.203 に答える
-3

これを試して:

preg_match("/\d{10}/u", $input)

または多分

preg_match("\d{10}", $input)

私はここで手に負えません。これらを確認するためのエディターを開いていません。

于 2013-05-16T01:15:29.550 に答える