我目前正在尝试编写一个内部有简单文本区域的“网络应用程序”,我希望在其中指出所写文本的字母。
例如,如果我写:
''你多大了?我19岁''
我需要一个代码来告诉我当我按下HTML / CSS页面上的按钮时,在这句话中使用了多少'A'和'Y'和'D'(以及0-26中的所有字母)。< / p>
你能不能告诉我我必须写入我的.JS文件以及我应该写入我的.HTML文件中的内容,只需点击一下按钮即可写入?
我希望我的解释足够详细。谢谢!
编辑(我对我造成的问题感到非常抱歉) - 到目前为止我所做的事情看起来像这样:
HTML:
<link rel="stylesheet" type="text/css" href="theme.css">
<meta charset="utf-8">
<script src="test.js" type="text/javascript"></script>
<div class='header'>
Al.Fa.Be
</div>
<div class='yaz'>
<textarea></textarea>
</div>
<div class='description'>
<a href='http://www.google.com'>Ara</a>
</div>
<div class='description2'>
<input id="clickMe" type="button" value="Hesapla" onclick="doFunction();" />
</div>
CSS:
body{
background:white;
}
selection{
background:#CCC;
}
#clickMe{
background:#CCC;
border:1px solid #333;
}
.header{
font-size:70px;
font-weight:bold;
font-family:Arial;
color:#333;
margin-left:580px;
padding-top:200px;
}
textarea{
width:1210px;
height:40px;
color:black;
margin-top:20px;
margin-left:100px;
padding-left:10px;
padding-top:10px;
font-size:18px;
font-family:Arial;
}
.description{
background:#f2f2f2;
padding:6px;
width:50px;
text-align:center;
border:1px solid #ddd;
font-family:Arial;
margin-left:620px;
margin-top:20px;
font-size:14px;
}
.description a{
color:#555;
text-decoration:none;
}
.description2{
background:#f2f2f2;
padding:6px;
width:60px;
text-align:center;
border:1px solid #ddd;
font-family:Arial;
margin-left:750px;
margin-top:-30px;
font-size:14px;
}
.description2 a{
color:#555;
text-decoration:none;
}
.yaz{
color:white;
}
使用Javascript:
// Input name. Count number of alphabets a-z
class program
{
public static void main(String[] args)
{
String name = args[0];
int count[] = new int[29];
int i,p;
int n = name.length();
name = name.toUpperCase();
char c;
for (i=0; i<29; i++)
{
count[i] = 0;
}
for (i=0; i<n; i++)
{
c = name.charAt(i);
p = (int) c;
count[p-65]++;
}
for (i=0; i<29 ; i++)
{
if (count[i] >0)
{
System.out.println((char)(i+65) + " occurs " + count[i] + " times");
}
}
}
}
PS:请记住,我真的很厌烦,我需要知道如何以特定的方式做到这一点。
答案 0 :(得分:1)
我就是这样做的。
var count = {};
var msg = "Your message";
for(var i = 0; i < msg.length; i++) {
var c = msg[i];
c = c.toLowerCase();
if(typeof(count[c]) == "undefined") {
count[c]=1;
}
else {
count[c]++;
}
}
如果需要,您只能检查这样的字母:
if('a'.charCodeAt(0) <= c <= 'z'.charCodeAt(0))
//This is a small letter
答案 1 :(得分:0)
查看此文章:http://davidwalsh.name/javascript-unique-letters-string。 这就是你在寻找什么。
编辑: HTML:
<link rel="stylesheet" type="text/css" href="theme.css">
<meta charset="utf-8">
<script src="test.js" type="text/javascript"></script>
<textarea rows="5" cols="10" id="str" value="Insert the string" />
<input type="button" value="Submit" id="button" />
JS:
document.getElementById('button').onclick = function() {
/* returns the size/length of an object */
Object.size = function(obj) {
var size = 0;
for(key in obj) {
if(obj.hasOwnProperty(key)) size++;
}
return size;
}
//initial vars
var str = document.getElementById('str').val;
var letters = new Object;
//loop, figure it out
for(x = 0, length = str.length; x < length; x++) {
var l = str.charAt(x)
letters[l] = (isNaN(letters[l]) ? 1 : letters[l] + 1);
}
//output count!
for(key in letters) {
console.log(key + ' :: ' + letters[key]);
}
console.log(Object.size(letters));
}
PS:你的“javascript”看起来不像javascript ......它看起来像java ......
答案 2 :(得分:0)
试试这个:
var str = "How old are you? I am 19 years old";
str = str.toLowerCase();// search is case sensitive
var counta = str.match(/a/g);
var countd = str.match(/d/g);
var county = str.match(/y/g);
alert("a:"+counta.length+" d:"+countd.length+" y:"+county.length);