teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

追記:関数を呼び出しているソース追加しました。

2016/06/22 03:13

投稿

kadaj1613
kadaj1613

スコア18

title CHANGED
File without changes
body CHANGED
@@ -19,4 +19,45 @@
19
19
  }
20
20
  return target;
21
21
  }
22
+ ```
23
+
24
+ 追記します。
25
+ この関数を呼び出しているjsはこのようになっています。
26
+ 試しましたが、numToLower関数を呼び出している記述を消して、そこに直接置換する記述を書くと動作しました。
27
+ ですが、関数を呼び出すと/だけ置換できないです。
28
+ ```
29
+ var date = new Date();
30
+ var dateFormat = new DateFormat("yyyy/MM/dd");
31
+ var date_str = $(target).val(); //targetはテキストフォーム
32
+ date_str = date_str + '';
33
+
34
+ date_str = numToLower(date_str)
35
+
36
+ var date_arr = date_str.split("/");
37
+ var year = date.getFullYear();
38
+ var month = 1;
39
+ var day = 1;
40
+
41
+ // yyyy/mm/dd 形式の場合
42
+ if( date_arr.length == 3) {
43
+ year = date_arr[0] - 0;
44
+ month = date_arr[1] - 1;
45
+ day = date_arr[2] - 0;
46
+ }
47
+ // yyyy/mm 形式の場合
48
+ else if( date_arr.length == 2 ) {
49
+ month = date_arr[0] - 1;
50
+ day = date_arr[1] - 0;
51
+ date_str = dateFormat.format(new Date(year, month, day));
52
+ }
53
+ //yyyymmdd形式の場合
54
+ else if( date_arr.length == 1 && date_str.length == 8 ){
55
+ year = date_str.slice(0,4);
56
+ month = date_str.slice(4,6) - 1;
57
+ day = date_str.slice(6);
58
+ date_str = dateFormat.format(new Date(year, month, day));
59
+ }
60
+
61
+ date = new Date(year, month, day);
62
+ $(target).val(dateFormat.format(date));
22
63
  ```

2

書式の改善

2016/06/22 03:13

投稿

kadaj1613
kadaj1613

スコア18

title CHANGED
File without changes
body CHANGED
@@ -4,6 +4,7 @@
4
4
  現在のソースコードは下記のようになっています。
5
5
  宜しくお願いいたします。
6
6
 
7
+ ```
7
8
  // 半角変換
8
9
  function numToLower(target) {
9
10
  // 全角数字配列
@@ -17,4 +18,5 @@
17
18
  }
18
19
  }
19
20
  return target;
20
- }
21
+ }
22
+ ```

1

文法の改善

2016/06/22 02:27

投稿

kadaj1613
kadaj1613

スコア18

title CHANGED
File without changes
body CHANGED
@@ -13,7 +13,7 @@
13
13
  var count;
14
14
  while(target.match(/[0-9/]/)){
15
15
  for(count = 0; count < fullNumber.length; count++){
16
- target = target.replace(fullNumber[count], halfNumber[count]);
16
+ target = target.replace(fullNumber[count], halfNumber[count]);
17
17
  }
18
18
  }
19
19
  return target;