Text2numb

By Mc_love Last update Jul 11, 2008 — Installed 90 times.
// Text2numb
// version 0.1a 
// 2007-08-11
// File Text2numb.user.js current version 001 August 11 2007 
// --------------------------------------------------------------------
//
// --------------------------------------------------------------------
//
// ==UserScript==
// @name          Text2numb
// @namespace     http://voltaiccodex.wordpress.com
// @description   converts words to numbers on craigslist ads.
// @include       http://*.craigslist.*/*
// ==/UserScript==
//
// --------------------------------------------------------------------
// Version 0.1a - First release

var replacements, regex, key, textnodes, node, s;

replacements = {
    "one": "1",
    "One": "1",
    "ONE": "1",
    "two": "2",
    "Two": "2",
    "three": "3",
    "Three": "3",
    "four": "4",
    "Four": "4",
    "five": "5",
    "Five": "5",
    "six": "6",
    "Six": "6",
    "seven": "7",
    "Seven": "7",
    "eight": "8",
    "Eight": "8",
    "nine": "9",
    "Nine": "9",
    "zero": "0",
    "Zero": "0",
    "TWO": "2",
    "THREE": "3",
    "FOUR": "4",
    "FIVE": "5",
    "SIX": "6",
    "SEVEN": "7",
    "EIGHT": "8",
    "NINE": "9",
    "ZERO": "0"};
regex = {};
for (key in replacements) {
    regex[key] = new RegExp(key, 'g');
}

textnodes = document.evaluate(
    "//text()",
    document,
    null,
    XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
    null);
for (var i = 0; i < textnodes.snapshotLength; i++) {
    node = textnodes.snapshotItem(i);
    s = node.data;
    for (key in replacements) {
	s = s.replace(regex[key], replacements[key]);
    }
    node.data = s;
}

//
// 081107.001 First working copy
//