0

2012/10テスト ケース シナリオ - ユーザーが、またはの 2 つのリンクのいずれかをクリックします2012/10/15

リンク内で DAY が指定されているかどうかを知る必要があります。URL から残りのリンク (上記を除く) を既に削除しています。値を AJAX リクエストに渡して、アーカイブ ページの日付を変更しています。

JS または PHP のいずれかでこれを行うことができます -/\d{4}\/\d{2}\/\d{2}/日が指定されているかどうかを確認する唯一の方法は、正規表現に対してチェックしていますか?

4

4 に答える 4

5

2012/10 または 2012/10/15 の形式を常に取得する場合にも、これを行うことができます。

if( str.split("/").length == 3 ) { }

ただし、保証はありませんので数値になります。それらが数値であることを確認したい場合は、文字列と一致するためにそのような正規表現が必要です。

于 2013-07-02T19:48:52.660 に答える
1

「/」区切り文字で日付を分解してから、アイテムを数えることができます。

$str = "2012/10";
$str2 = "2012/10/5";

echo count(explode("/", $str)); // 2
echo count(explode("/", $str2)); // 3

または、関数に変換します。

<?php
function getDateParts($date) {
  $date = explode("/", $date);
  $y = !empty($date[0]) ? $date[0] : date("Y");
  $m = !empty($date[1]) ? $date[1] : date("m");
  $d = !empty($date[2]) ? $date[2] : date("d");
  return array($y, $m, $d);
}
?>
于 2013-07-02T19:56:39.390 に答える
0

私は個人的に正規表現を使用します。これは、この種のことをテストする優れた方法です。または、split/implode文字列 on/を実行すると、(できれば) 3 つの文字列の配列が得られ、それをテストできます。後でそれを使用する場合は、おそらくその手法を使用するでしょう。

于 2013-07-02T19:50:25.293 に答える