
こちらの記事で書かれているようなことを
http://www.relief.jp/itnote/archives/001896.php
JavaScript側、もしくはJava側で行いたいのですが良い方法はないでしょうか?
「年」と「月」と「日」を取り出したいと思っています。
今ちなみに下記のような感じで一応実現はしているのですが…。
正規表現をあまり使った事がなかったもので(久々なので)、使い方が正しいかも気になっております。
<▼サンプルソース1:直接value値を渡す場合>
<html>
<script type="text/javascript">
function replaceTest(str){
var hoge1 = str.replace(/[年]|[月]|[日]/g, "");
alert(戻り値として、年月日を変換した値を返します。);
return hoge1;
}
</script>
<body>
<form name="replaceForm">
<input type="text" onblur="replaceTest(this.value)" name="replaceText" value="2000年10月08日">
<▼サンプルソース2:オブジェクトを引数として、メソッドを跨いで結果を返す場合>
<html>
<script type="text/javascript">
function replaceTest(str){
var hoge1 = str.replace(/[年]|[月]|[日]/g, "");
return hoge1;
}
function replaceStart(obj){
var str1 = obj.value;
var str2 = replaceTest(str1);
alert("年月日が変換された値:" + str2);
}
</script>
<body>
<form name="ZeroForm">
<input type="text" onblur="replaceStart(this)" name="zeroText" value="2000年10月08日">
</form>
</body>
</html>
①「/g」の意味は、検索対象の文字列を全て置換するという意味でいいでしょうか?
②最終的に共通関数化しないといけないのですが、今の方法でも問題ないでしょうか?
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
命題の通りであれば、こんな感じですが
月や日は必ずしも左を0で埋めた二桁であるとは限りませんが
運用でカバーしていますか?
<script>
var str="2015年05月25日";
str=str.replace(/(\d{4})年(\d{2})月(\d{2})日/,"$1$2$3");
document.write(str);
</script>
例えば上記「05月」が「5(一桁数字)月」や「(半角スペース)5月」にならないという
担保があるのか・・・によって処理が若干かわります
No.1
- 回答日時:
まず正規表現の問題点について。
> /[年]|[月]|[日]/g
は
/[年月日]/g
で十分です。元のままでは[]を使う意味がありません。
① 「対象の文字列の内で一致する箇所すべて」という意味ですね。これ自体には「置換する」という意味はありません。
②「共通関数化」というのがどういう意味なのかこのコードだけからは読み取れないのですが、入ってくる文字列が正確にyyyy年mm月dd日という形式であるという絶対の保証があって、かつ、年・月・日の値を知る必要が一切ないというのであれば、特に問題はないでしょう。
自分だったらそんな保障は信じられないし、年・月・日の値が不要だというのは信じられないので、
/^(\d{4})年(\d{2})月(\d{2})日$/
を match させてその結果から年・月・日の値を取り出しますが。
https://developer.mozilla.org/ja/docs/Web/JavaSc …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Outlookのアカウントがあるとメ...
-
jsonテキストデータの並び替え...
-
jsで、配列内の文章を改行する...
-
タグを教えてください。
-
ラジオボタンを複数選択したと...
-
jsで質問です。 formをsubmitし...
-
2025年相性がいい人のサイトの...
-
CookieをWebStoeageに変える
-
Adobe acrobat proでフォームを...
-
jqueryのselect2で検索欄の文字...
-
<tr>指定した表の行要素をボ...
-
食材の期限を管理するためにGAS...
-
ビデオのJSについて
-
鍵盤アプリで、スマホの画面に...
-
<div>のタッチ状態を維持したま...
-
jQueryでシンセサイザーを作っ...
-
プログラミング 学習
-
HTMLでサブフレームから親のス...
-
ジャバスクリプトについて。
-
プログラムについて。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スマホ上で、左右スワイプで次...
-
jsonテキストデータの並び替え...
-
jqueryのselect2で検索欄の文字...
-
jQueryでシンセサイザーを作っ...
-
Adobe acrobat proでフォームを...
-
階層別の組織図の自動作成について
-
ラジオボタンを複数選択したと...
-
<div>のタッチ状態を維持したま...
-
2025年相性がいい人のサイトの...
-
<tr>指定した表の行要素をボ...
-
CookieをWebStoeageに変える
-
画面遷移を行わずに同一ページ...
-
タグを教えてください。
-
GASでチェックボックスを一括of...
-
イラストレーター、縦中横のシ...
-
jsで質問です。 formをsubmitし...
-
ビデオのJSについて
-
初心者です。gulpでコンパイル...
-
ボタンを押したあとに画像を表...
-
Outlookのアカウントがあるとメ...
おすすめ情報
JavaScriptを書いたのですが、これでは読めませんね。
すみません。汗