法令データ年号変換

    @@ -1,7 +1,7 @@ /* * @title 法令データ年号変換 * @description 全角年号→半角英数年号 - * @include http://law.e-gov.go.jp/ + * @include http://law.e-gov.go.jp/* */ var a=$X('//div[contains(text(),"最終改正:")]')[0];
  • /*
     * @title 法令データ年号変換
     * @description 全角年号→半角英数年号
     * @include http://law.e-gov.go.jp/*
     */
    
    var a=$X('//div[contains(text(),"最終改正:")]')[0];
    var b=$X('translate(./text(),"〇一二三四五六七八九","0123456789")', a).replace('平成','H').replace('昭和','S').replace('日','日 ').replace('令','');
    a.innerHTML=b;
    
    // cho45 / dollarX.js https://gist.github.com/cho45/3238
    // extend version of $X
    // $X(exp);
    // $X(exp, context);
    // $X(exp, type);
    // $X(exp, context, type);
    function $X (exp, context, type /* want type */) {
    	if (typeof context == "function") {
    		type    = context;
    		context = null;
    	}
    	if (!context) context = document;
    	exp = (context.ownerDocument || context).createExpression(exp, function (prefix) {
    		var o = document.createNSResolver(context)(prefix);
    		if (o) return o;
    		return (document.contentType == "application/xhtml+xml") ? "http://www.w3.org/1999/xhtml" : "";
    	});
     
    	switch (type) {
    		case String:  return exp.evaluate(context, XPathResult.STRING_TYPE, null).stringValue;
    		case Number:  return exp.evaluate(context, XPathResult.NUMBER_TYPE, null).numberValue;
    		case Boolean: return exp.evaluate(context, XPathResult.BOOLEAN_TYPE, null).booleanValue;
    		case Array:
    			var result = exp.evaluate(context, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
    			for (var ret = [], i = 0, len = result.snapshotLength; i < len; i++) {
    				ret.push(result.snapshotItem(i));
    			}
    			return ret;
    		case undefined:
    			var result = exp.evaluate(context, XPathResult.ANY_TYPE, null);
    			switch (result.resultType) {
    				case XPathResult.STRING_TYPE : return result.stringValue;
    				case XPathResult.NUMBER_TYPE : return result.numberValue;
    				case XPathResult.BOOLEAN_TYPE: return result.booleanValue;
    				case XPathResult.UNORDERED_NODE_ITERATOR_TYPE:
    					// not ensure the order.
    					var ret = [], i = null;
    					while ((i = result.iterateNext())) ret.push(i);
    					return ret;
    			}
    			return null;
    		default: throw(TypeError("$X: specified type is not valid type."));
    	}
    }
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2014/06/19 17:25:21 - 2014-06-19
  2. 2014/06/19 17:21:25 - 2014-06-19
  3. 2013/08/01 14:13:54 - 2013-08-01
  4. 2013/08/01 14:11:45 - 2013-08-01
  5. 2013/08/01 14:10:12 - 2013-08-01
  6. 2013/08/01 14:06:37 - 2013-08-01
  7. 2013/08/01 13:25:47 - 2013-08-01
  8. 2013/08/01 09:59:27 - 2013-08-01
  9. 2013/08/01 09:52:46 - 2013-08-01