Greasy Fork is available in English.

V2EX 区号转换器

将V2EX帖子中的电话区号转换成对应的地点名称

安装此脚本?
作者推荐脚本

您可能也喜欢V2EX base64 decode

安装此脚本
// ==UserScript==
// @name         V2EX 区号转换器
// @namespace    https://github.com/Steve5wutongyu6/v2ex-area-code-conversion
// @version      0.1.5
// @description  将V2EX帖子中的电话区号转换成对应的地点名称
// @author       Steve5wutongyu6
// @match        https://v2ex.com/*
// @match        https://*.v2ex.com/*
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    var areaCodes = {
        "010": "北京市",
        "022": "天津市",
        "0311": "石家庄市",
        "0313": "张家口市",
        "0314": "承德市",
        "0335": "秦皇岛市",
        "0315": "唐山市",
        "0316": "廊坊市",
        "0312": "保定市",
        "0317": "沧州市",
        "0318": "衡水市",
        "0319": "邢台市",
        "0310": "邯郸市",
        "0351": "太原市",
        "0352": "大同市",
        "0349": "朔州市",
        "0353": "阳泉市",
        "0355": "长治市",
        "0356": "晋城市",
        "0350": "忻州市",
        "0354": "晋中市",
        "0357": "临汾市",
        "0359": "运城市",
        "0358": "吕梁市",
        "0471": "呼和浩特市",
        "0472": "包头市",
        "0473": "乌海市",
        "0476": "赤峰市",
        "0475": "通辽市",
        "0470": "呼伦贝尔市",
        "0477": "鄂尔多斯市",
        "0474": "乌兰察布市",
        "0478": "巴彦淖尔市",
        "0482": "兴安盟",
        "0479": "锡林郭勒盟",
        "0483": "阿拉善盟",
        "024": "沈阳市",
        "024": "铁岭市",
        "024": "抚顺市",
        "024": "本溪市",
        "0421": "朝阳市",
        "0418": "阜新市",
        "0419": "辽阳市",
        "0412": "鞍山市",
        "0415": "丹东市",
        "0411": "大连市",
        "0417": "营口市",
        "0427": "盘锦市",
        "0416": "锦州市",
        "0429": "葫芦岛市",
        "0431": "长春市",
        "0436": "白城市",
        "0438": "松原市",
        "0432": "吉林市",
        "0434": "四平市",
        "0437": "辽源市",
        "0435": "通化市",
        "0439": "白山市",
        "0433": "延边朝鲜族自治州",
        "0451": "哈尔滨市",
        "0452": "齐齐哈尔市",
        "0456": "黑河市",
        "0459": "大庆市",
        "0458": "伊春市",
        "0468": "鹤岗市",
        "0454": "佳木斯市",
        "0469": "双鸭山市",
        "0464": "七台河市",
        "0467": "鸡西市",
        "0453": "牡丹江市",
        "0455": "绥化市",
        "0457": "大兴安岭地区",
        "0457": "加格达奇",
        "021": "上海市",
        "025": "南京市",
        "0516": "徐州市",
        "0518": "连云港市",
        "0527": "宿迁市",
        "0517": "淮安市",
        "0515": "盐城市",
        "0514": "扬州市",
        "0523": "泰州市",
        "0513": "南通市",
        "0511": "镇江市",
        "0519": "常州市",
        "0510": "无锡市",
        "0512": "苏州市",
        "0571": "杭州市",
        "0572": "湖州市",
        "0573": "嘉兴市",
        "0580": "舟山市",
        "0574": "宁波市",
        "0575": "绍兴市",
        "0570": "衢州市",
        "0579": "金华市",
        "0576": "台州市",
        "0577": "温州市",
        "0578": "丽水市",
        "0551": "合肥市",
        "0557": "宿州市",
        "0561": "淮北市",
        "0558": "阜阳市",
        "0558": "亳州市",
        "0552": "蚌埠市",
        "0554": "淮南市",
        "0550": "滁州市",
        "0555": "马鞍山市",
        "0553": "芜湖市",
        "0562": "铜陵市",
        "0556": "安庆市",
        "0559": "黄山市",
        "0564": "六安市",
        "0566": "池州市",
        "0563": "宣城市",
        "0591": "福州市",
        "0599": "南平市",
        "0598": "三明市",
        "0594": "莆田市",
        "0595": "泉州市",
        "0592": "厦门市",
        "0596": "漳州市",
        "0597": "龙岩市",
        "0593": "宁德市",
        "0791": "南昌市",
        "0792": "九江市",
        "0798": "景德镇市",
        "0701": "鹰潭市",
        "0790": "新余市",
        "0799": "萍乡市",
        "0797": "赣州市",
        "0793": "上饶市",
        "0794": "抚州市",
        "0795": "宜春市",
        "0796": "吉安市",
        "0531": "济南市",
        "0635": "聊城市",
        "0534": "德州市",
        "0546": "东营市",
        "0533": "淄博市",
        "0536": "潍坊市",
        "0535": "烟台市",
        "0631": "威海市",
        "0532": "青岛市",
        "0633": "日照市",
        "0539": "临沂市",
        "0632": "枣庄市",
        "0537": "济宁市",
        "0538": "泰安市",
        "0634": "莱芜市",
        "0543": "滨州市",
        "0530": "菏泽市",
        "0371": "郑州市",
        "0371": "开封市",
        "0398": "三门峡市",
        "0379": "洛阳市",
        "0391": "焦作市",
        "0391": "济源市",
        "0373": "新乡市",
        "0392": "鹤壁市",
        "0372": "安阳市",
        "0393": "濮阳市",
        "0370": "商丘市",
        "0374": "许昌市",
        "0395": "漯河市",
        "0375": "平顶山市",
        "0377": "南阳市",
        "0376": "信阳市",
        "0394": "周口市",
        "0396": "驻马店市",
        "027": "武汉市",
        "0719": "十堰市",
        "0719": "神农架林区",
        "0710": "襄阳市",
        "0724": "荆门市",
        "0712": "孝感市",
        "0713": "黄冈市",
        "0711": "鄂州市",
        "0714": "黄石市",
        "0715": "咸宁市",
        "0716": "荆州市",
        "0717": "宜昌市",
        "0722": "随州市",
        "0728": "仙桃市",
        "0728": "天门市",
        "0728": "潜江市",
        "0718": "恩施土家族苗族自治州",
        "0731": "长沙市",
        "0731": "株洲市",
        "0731": "湘潭市",
        "0744": "张家界市",
        "0736": "常德市",
        "0737": "益阳市",
        "0730": "岳阳市",
        "0734": "衡阳市",
        "0735": "郴州市",
        "0746": "永州市",
        "0739": "邵阳市",
        "0745": "怀化市",
        "0738": "娄底市",
        "0743": "湘西土家族苗族自治州",
        "020": "广州市",
        "0763": "清远市",
        "0751": "韶关市",
        "0762": "河源市",
        "0753": "梅州市",
        "0768": "潮州市",
        "0754": "汕头市",
        "0663": "揭阳市",
        "0660": "汕尾市",
        "0752": "惠州市",
        "0769": "东莞市",
        "0755": "深圳市",
        "0756": "珠海市",
        "0760": "中山市",
        "0750": "江门市",
        "0757": "佛山市",
        "0758": "肇庆市",
        "0766": "云浮市",
        "0662": "阳江市",
        "0668": "茂名市",
        "0759": "湛江市",
        "0771": "南宁市",
        "0771": "崇左市",
        "0773": "桂林市",
        "0772": "柳州市",
        "0772": "来宾市",
        "0774": "梧州市",
        "0774": "贺州市",
        "0775": "贵港市",
        "0775": "玉林市",
        "0777": "钦州市",
        "0779": "北海市",
        "0770": "防城港市",
        "0776": "百色市",
        "0778": "河池市",
        "0898": "海南省",
        "023": "重庆市",
        "028": "成都市",
        "028": "资阳市",
        "028": "眉山市",
        "0839": "广元市",
        "0816": "绵阳市",
        "0838": "德阳市",
        "0817": "南充市",
        "0826": "广安市",
        "0825": "遂宁市",
        "0832": "内江市",
        "0833": "乐山市",
        "0813": "自贡市",
        "0830": "泸州市",
        "0831": "宜宾市",
        "0812": "攀枝花市",
        "0827": "巴中市",
        "0818": "达州市",
        "0835": "雅安市",
        "0837": "阿坝藏族羌族自治州",
        "0836": "甘孜藏族自治州",
        "0834": "凉山彝族自治州",
        "0851": "贵阳市",
        "0851": "遵义市",
        "0851": "安顺市",
        "0858": "六盘水市",
        "0857": "毕节市",
        "0856": "铜仁市",
        "0855": "黔东南苗族侗族自治州",
        "0854": "黔南布依族苗族自治州",
        "0859": "黔西南布依族苗族自治州",
        "0871": "昆明市",
        "0874": "曲靖市",
        "0877": "玉溪市",
        "0875": "保山市",
        "0870": "昭通市",
        "0888": "丽江市",
        "0879": "普洱市",
        "0883": "临沧市",
        "0692": "德宏傣族景颇族自治州",
        "0886": "怒江傈僳族自治州",
        "0887": "迪庆藏族自治州",
        "0872": "大理白族自治州",
        "0878": "楚雄彝族自治州",
        "0873": "红河哈尼族彝族自治州",
        "0876": "文山壮族苗族自治州",
        "0691": "西双版纳傣族自治州",
        "0891": "拉萨市",
        "0896": "那曲地区",
        "0895": "昌都地区",
        "0894": "林芝地区",
        "0893": "山南地区",
        "0892": "日喀则地区",
        "0897": "阿里地区",
        "029": "西安市",
        "029": "咸阳市",
        "0911": "延安市",
        "0919": "铜川市",
        "0913": "渭南市",
        "0917": "宝鸡市",
        "0916": "汉中市",
        "0912": "榆林市",
        "0915": "安康市",
        "0914": "商洛市",
        "0931": "兰州市",
        "0935": "金昌市",
        "0935": "武威市",
        "0943": "白银市",
        "0938": "天水市",
        "0937": "嘉峪关市",
        "0937": "酒泉市",
        "0936": "张掖市",
        "0934": "庆阳市",
        "0933": "平凉市",
        "0932": "定西市",
        "0939": "陇南市",
        "0930": "临夏回族自治州",
        "0941": "甘南藏族自治州",
        "0971": "西宁市",
        "0972": "海东地区",
        "0970": "海北藏族自治州",
        "0974": "海南藏族自治州",
        "0973": "黄南藏族自治州",
        "0975": "果洛藏族自治州",
        "0976": "玉树藏族自治州",
        "0977": "海西蒙古族藏族自治州",
        "0979": "格尔木市",
        "0951": "银川市",
        "0952": "石嘴山市",
        "0953": "吴忠市",
        "0954": "固原市",
        "0955": "中卫市",
        "0991": "乌鲁木齐市",
        "0990": "克拉玛依市",
        "0990": "和布克赛尔蒙古自治县",
        "0992": "奎屯市",
        "0992": "独山子区",
        "0992": "乌苏市",
        "0993": "石河子市",
        "0993": "沙湾县",
        "0997": "阿拉尔市",
        "0997": "阿克苏地区",
        "0997": "阿合奇县",
        "0998": "喀什地区",
        "0998": "图木舒克市",
        "0906": "阿勒泰地区",
        "0906": "北屯市",
        "0903": "和田地区",
        "0995": "吐鲁番地区",
        "0902": "哈密地区",
        "0908": "克孜勒苏柯尔克孜自治州",
        "0909": "博尔塔拉蒙古自治州",
        "0994": "昌吉回族自治州",
        "0994": "五家渠市",
        "0996": "巴音郭楞蒙古自治州",
        "0999": "伊犁哈萨克自治州",
        "0901": "塔城地区",
    };

    var replaceContent = function(el) {
        el.innerHTML = el.innerHTML.replace(/(\d{3,4})(?=\D|$)(?!(<\/a>|">))/g, function(match, areaCode) {
            if (areaCodes.hasOwnProperty(areaCode)) {
                return '<span>' + match + '</span>' + '(' + '<span  style="color:#EE6F2D">' + areaCodes[areaCode] + '</span>' + ')';
            }
            return match;
        });
    }

    var topicContent = document.getElementsByClassName("topic_content")[0];
    if (topicContent) {
        replaceContent(topicContent);
    }

    var titleContent = document.querySelector(".header h1");
    if (titleContent) {
        replaceContent(titleContent);
    }


    // 处理帖子列表
    var postCells = document.querySelectorAll("#TopicsNode>div.cell");
    for (var i = 0; i < postCells.length; i++) {
        var postContent = postCells[i].querySelector(".item_title a");
        if (postContent) {
            replaceContent(postContent);
        }
    }

    var replyContent = document.getElementsByClassName("reply_content");
    if (replyContent) {
        for (var i = 0; i < replyContent.length; i++) {
            replaceContent(replyContent[i]);
        }
    }

})();