Java Frame Design XML Stream Database
Just do it
posts - 5, comments - 2, trackbacks - 0, articles - 5
BlogJava
::
首页
::
新随笔
::
联系
::
聚合
::
管理
网页上的拼音码生成
Posted on 2009-12-04 09:54
Just Do It
阅读(1776)
评论(0)
编辑
收藏
在C/S程序中,我们通常会把汉字的拼音简码记录在一个表中,然后编写一个工具函数来生成一段文字的拼音码。而在WEB页面上,文字的简码存储在数据库表中的极不方便,使用AJAX技术也很繁琐。那么如果能把文字的简码直接存储在js里,在客户端实时生成拼音码就比较方便了。
在javascript中,我们可以用如下方式生成一个MAP样的对象:
var charsCode = {"啊":"A","波":"B",...};
于是得到某个文字的拼音简码就很简单了:charsCode["啊"]即可。
显然,文字的简码在数据表中有,我们可以用简单的sql语句就生成上面定义简码MAP的JS代码,工作量最大的那部分事情就搞定了。
接下来只需要定义工具函数即可:
//
获取每个包括字符的拼音简码。
function
getCharsCode(str)
{
str
=
str.toUpperCase();
var
len
=
str.length;
var
c, result
=
""
, t;
for
(i
=
0
; i
<
len; i
++
)
{
c
=
str.substr(i,
1
);
t
=
mCharsCode[c];
if
(
""
+
t
==
"
undefined
"
) t
=
""
;
result
+=
t;
}
return
result;
}
//
对于英文单词,仅取首字母
function
getWordsCode(str)
{
str
=
str.toUpperCase();
str
=
str.replace(
/
([A
-
Z])[A
-
Z]
*/
g,
"
$1
"
);
var
len
=
str.length;
var
c, result
=
""
, t;
for
(i
=
0
; i
<
len; i
++
)
{
c
=
str.substr(i,
1
);
t
=
mCharsCode[c];
if
(
""
+
t
==
"
undefined
"
) t
=
""
;
result
+=
t;
}
return
result;
}
那么在WEB页面中,我们只要引入相应的js文件,就可以方便的调用了,举例如下:
<
html
>
<
head
>
<
script
language
="javascript"
src
="charscode.js"
></
script
>
</
head
>
<
body
style
="font-size:12px"
>
<
form
>
输入内容:
<
input
type
="text"
onkeyup
="pym.innerHTML = getCharsCode(this.value);"
/>
<
br
/>
拼 音 码:
<
span
id
="pym"
></
span
>
</
form
>
</
body
>
</
html
>
以下是已经包含6千多汉字及其它字符以及工具函数的js与html文件:
/Files/justdoit/charcode.rar
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
Powered by:
BlogJava
Copyright © Just Do It
日历
<
2009年12月
>
日
一
二
三
四
五
六
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
常用链接
我的随笔
我的文章
我的评论
我的参与
最新评论
留言簿
给我留言
查看公开留言
查看私人留言
随笔档案
(6)
2010年5月 (1)
2009年12月 (3)
2009年11月 (2)
文章分类
(4)
HTML(4)
文章档案
(4)
2009年11月 (4)
相册
工作生活
博客
王文成博客
BlogJava-JAVA & XML & JAVASCRIPT & AJAX & CSS
搜索
最新随笔
1. 页面上判断滚动条是否存在
2. Google SVN操作步骤[摘]
3. 网页上的拼音码生成
4. 表达式求值的经典算法
5. FreeTextBox 增加按钮
6. CSS的常用技巧
7. IE6.0不支持任意元素的hover伪类替代方案
8. 始终位于文档中心的DIV元素
9. 关于clientWidth取值问题【摘】
10. CSS绝对定位、浮动定位
最新评论
1. asdf
askldfjalskdfjlksdfjasldkjfalsdjfalksdjfajsdklfjaklsdjfl;kajsdlkfjlaksdfjl;asdf
--asdfasdf
2. asdf
asdfasdf
--asdfasdf
阅读排行榜
1. 网页上的拼音码生成(1776)
2. 关于clientWidth取值问题【摘】(876)
3. 页面上判断滚动条是否存在(439)
4. 表达式求值的经典算法(396)
5. FreeTextBox 增加按钮(386)
评论排行榜
1. 关于clientWidth取值问题【摘】(2)
2. 页面上判断滚动条是否存在(0)
3. Google SVN操作步骤[摘](0)
4. 网页上的拼音码生成(0)
5. 表达式求值的经典算法(0)