将数字0-9转换为图像?
我对JavaScript很陌生,但正在尝试编写一个将文本数字转换为图像(数字)的脚本。我该怎么办?将数字0-9转换为图像?
P.s.我确实在网上找到了这个代码,但它似乎很希望。
<script language="JavaScript1.1" type="text/javascript">
function phils_image_price(input)
{
//declare variables
var output=""
var position=0
var chr=""
//loop
for (var position=0; position < input.length; position++)
{
chr=input.substring(position,position+1)
//replace
if (chr == '£') {output=output + '<img border="0"
src="img/pound.gif">'}
else if(chr == '0') {output=output + '<img border="0"
src="img/0.gif">'}
else if(chr == '1') {output=output + '<img border="0"
src="img/1.gif">'}
else if(chr == '2') {output=output + '<img border="0"
src="img/2.gif">'}
else if(chr == '3') {output=output + '<img border="0"
src="img/3.gif">'}
else if(chr == '4') {output=output + '<img border="0"
src="img/4.gif">'}
else if(chr == '5') {output=output + '<img border="0"
src="img/5.gif">'}
else if(chr == '6') {output=output + '<img border="0"
src="img/6.gif">'}
else if(chr == '7') {output=output + '<img border="0"
src="img/7.gif">'}
else if(chr == '8') {output=output + '<img border="0"
src="img/8.gif">'}
else if(chr == '9') {output=output + '<img border="0"
src="img/9.gif">'}
else if(chr == '.') {output=output + '<img border="0"
src="img/dot.gif">'}
else {output=output + chr}
}
return output;
}
</script>
</head>
<body>
<script language="JavaScript1.1" type="text/javascript">
document.write('£12345678.90')
document.write('<br>')
document.write(phils_image_price('£12345678.90'))
</script>
function phils_image_price(input) {
var output = ""
for (var i = 0; i < input.length; i++) {
var chr = input.substring(i, i + 1)
if (chr == '£') {
output += '<img border="0" src="img/pound.gif">';
} else if (chr == '.') {
output += '<img border="0" src="img/dot.gif">';
} else {
output += '<img border="0" src="img/'+(chr+1)+'.gif">';
}
return output;
}
我会确保input是一个字符串,而不是float/integer,所以'.substring()'和'.length'不会失败。只需添加一个简单的'input = input.toString();'或者'input =''+ input;'或者循环之前的东西。这只是为了处理某人调用像phils_image_price(123.45);'而不是所谓的phils_image_price('123.45');''的函数。另一种选择是“嗅探”传递的int/float,以确保在需要时也调用'.toFixed(2)'。只是一个'防守编程',没有什么壮观的;) – RobIII 2013-05-08 22:51:23
所以我在Wordpress中使用它。我已经把代码放在了一个js文件中,放在了functions.php中,我怎么在wordpress的页面上调用函数呢?谢谢 :) – wackerfuss 2013-05-09 03:28:01
function textNumbersToImages(text) {
var output = '';
// You could define a list of filenames here
var images = ['0.gif', '1.gif', '2.gif', '3.gif',
'4.gif', '5.gif', '6.gif', '7.gif', '8.gif', '9.gif'];
// We eliminate all characters that are not a number
var nums = text.replace(/\D/g, '');
// Now we iterate over all those numbers
for (var i=0; i < nums.length; i++) {
output += '<img src="' + images[nums.charAt(i)] + '" />';
}
// We return the constructed string, that is a list of image tags
return output;
};
只是一个问题,你为什么不想做呢? – unkn0wn 2013-05-08 22:41:30
我在猜测captcha或类似的东西? – adeneo 2013-05-08 22:45:13
@adeneo很明显,做出一个价格;我猜想user2364094想要实现类似于[this](http://riii.nl/w9349)的事情(继续,更改url中的数字)。 – RobIII 2013-05-08 22:48:52