要求就是
希望能够匹配那个name的所有属性
我写的如下 (问题多多)
ps :尽量合理的匹配
如fangfang fang可以匹配 但是 fa去匹配就会报告错误
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title></head><body><input id='ss' type="text" /><input value='test' type="button" onclick="ss(document.getElementById('ss').value)" />
<script>
function ss(v){
var name ={
a : ['a','ai','an','ang','ao'],
b : ['ba','bai','ban','bang','bao','bei','ben','beng','bi','bian','biao','bie','bin','bing','bo','bu'],
c : ['ca','cai','can','cang','cao','ce','cen','ceng','cha','chai','chan','chang','chao','che','chen','cheng','chi','chong','chou','chu','chua','chuai','chuan','chuang','chui','chun','chuo','ci','cong','cou','cu','cuan','cui','cun','cuo'],
d : ['da','dai','dan','dang','dao','de','dei','den','deng','di','dia','dian','diao','die','ding','diu','dong','dou','du','duan','dui','dun','duo'],
e : ['e','en','eng','er'],
f : ['fa','fan','fang','fei','fen','feng','fiao','fo','fou','fu'],
g : ['ga','gai','gan','gang','gao','ge','gei','gen','geng','gong','gou','gu','gua','guai','guan','guang','gui','gun','guo'],
h : ['ha','hai','han','hang','hao','he','hei','hen','heng','hong','hou','hu','hua','huai','huan','huang','hui','hun','huo'],
j : ['ji','jia','jian','jiang','jiao','jie','jin','jing','jiong','jiu','ju','jun','juan','jue'],
k : ['ka','kai','kan','kang','kao','ke','ken','keng','kong','kou','ku','kua','kuai','kuan','kuang','kui','kun','kuo'],
l : ['la','lai','lan','lang','lao','le','lei','leng','li','lia','lian','liang','liao','lie','lin','ling','liu','lo','long','lou','lu','luan','lun','luo','lv','lve'],
m : ['ma','mai','man','mang','mao','me','mei','men','meng','mi','mian','miao','mie','min','ming','miu','mo','mou','mu'],
n : ['na','nai','nan','nang','nao','ne','nei','nen','neng','ni','nian','niang','niao','nie','nin','ning','niu','nong','nou','nu','nuan','nun','nuo','nv','nve'],
o : ['o','ou'],
p : ['pa','pai','pan','pang','pao','pei','pen','peng','pi','pian','piao','pie','pin','ping','po','pou','pu'],
q : ['qi','qia','qian','qiang','qiao','qie','qin','qing','qiong','qiu','qu','quan','que','qun'],
r : ['ran','rang','rao','re','ren','reng','ri','rong','rou','ru','rua','ruan','rui','run','ruo'],
s : ['sa','sai','san','sang','sao','se','sen','seng','sha','shai','shan','shang','shao','she','shei','shen','sheng','shi'
,'shou','shu','shua','shuai','shuan','shuang','shui','shun','shuo','si','song','sou','su','suan','sui','sun','suo'],
t : ['ta','tai','tan','tang','tao','te','tei','teng','ti','tian','tiao','tie','ting','tong','tou','tu','tuan','tui','tun','tuo'],
w : ['wa','wai','wan','wang','wei','wen','weng','wo','wu'],
x : ['xi','xia','xian','xiang','xiao','xie','xin','xing','xiong','xiu','xu','xuan','xue','xun'],
y : ['ya','yan','yang','yao','ye','yi','yin','ying','yo','yong','you','yu','yuan','yue','yun'],
z : ['za','zai','zan','zang','zao','ze','zei','zen','zeng','zha','zhai','zhan','zhang','zhao','zhe','zhei','zhen','zheng','zhi','zhong','zhou','zhu','zhua','zhuai','zhuan','zhuang','zhui','zhun','zhuo','zi','zong','zou','zu','zuan','zui','zun','zuo']
};
alert(testname(name,v));
};
function testname(o,v){
if(v=="")return false;
var arr ="";
var exit = true;
while(exit&&v.length>0){
arr = "";
var f = v.slice(0,1);
if(!o[f]){exit = false; return false};
for(var i=0,l=o[f].length;i<l;i++)
{
if((new RegExp("^("+o[f][i]+")")).test(v))
arr = arr.length>o[f][i].length?arr:o[f][i];
}
if(arr.length==0)
{
exit = false;
}else{
v = v.slice(arr.length,v.length);
}
}
return arr.length>0?true:false;
}</script>
</script>
</body>
</html>
希望能够匹配那个name的所有属性
我写的如下 (问题多多)
ps :尽量合理的匹配
如fangfang fang可以匹配 但是 fa去匹配就会报告错误
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title></head><body><input id='ss' type="text" /><input value='test' type="button" onclick="ss(document.getElementById('ss').value)" />
<script>
function ss(v){
var name ={
a : ['a','ai','an','ang','ao'],
b : ['ba','bai','ban','bang','bao','bei','ben','beng','bi','bian','biao','bie','bin','bing','bo','bu'],
c : ['ca','cai','can','cang','cao','ce','cen','ceng','cha','chai','chan','chang','chao','che','chen','cheng','chi','chong','chou','chu','chua','chuai','chuan','chuang','chui','chun','chuo','ci','cong','cou','cu','cuan','cui','cun','cuo'],
d : ['da','dai','dan','dang','dao','de','dei','den','deng','di','dia','dian','diao','die','ding','diu','dong','dou','du','duan','dui','dun','duo'],
e : ['e','en','eng','er'],
f : ['fa','fan','fang','fei','fen','feng','fiao','fo','fou','fu'],
g : ['ga','gai','gan','gang','gao','ge','gei','gen','geng','gong','gou','gu','gua','guai','guan','guang','gui','gun','guo'],
h : ['ha','hai','han','hang','hao','he','hei','hen','heng','hong','hou','hu','hua','huai','huan','huang','hui','hun','huo'],
j : ['ji','jia','jian','jiang','jiao','jie','jin','jing','jiong','jiu','ju','jun','juan','jue'],
k : ['ka','kai','kan','kang','kao','ke','ken','keng','kong','kou','ku','kua','kuai','kuan','kuang','kui','kun','kuo'],
l : ['la','lai','lan','lang','lao','le','lei','leng','li','lia','lian','liang','liao','lie','lin','ling','liu','lo','long','lou','lu','luan','lun','luo','lv','lve'],
m : ['ma','mai','man','mang','mao','me','mei','men','meng','mi','mian','miao','mie','min','ming','miu','mo','mou','mu'],
n : ['na','nai','nan','nang','nao','ne','nei','nen','neng','ni','nian','niang','niao','nie','nin','ning','niu','nong','nou','nu','nuan','nun','nuo','nv','nve'],
o : ['o','ou'],
p : ['pa','pai','pan','pang','pao','pei','pen','peng','pi','pian','piao','pie','pin','ping','po','pou','pu'],
q : ['qi','qia','qian','qiang','qiao','qie','qin','qing','qiong','qiu','qu','quan','que','qun'],
r : ['ran','rang','rao','re','ren','reng','ri','rong','rou','ru','rua','ruan','rui','run','ruo'],
s : ['sa','sai','san','sang','sao','se','sen','seng','sha','shai','shan','shang','shao','she','shei','shen','sheng','shi'
,'shou','shu','shua','shuai','shuan','shuang','shui','shun','shuo','si','song','sou','su','suan','sui','sun','suo'],
t : ['ta','tai','tan','tang','tao','te','tei','teng','ti','tian','tiao','tie','ting','tong','tou','tu','tuan','tui','tun','tuo'],
w : ['wa','wai','wan','wang','wei','wen','weng','wo','wu'],
x : ['xi','xia','xian','xiang','xiao','xie','xin','xing','xiong','xiu','xu','xuan','xue','xun'],
y : ['ya','yan','yang','yao','ye','yi','yin','ying','yo','yong','you','yu','yuan','yue','yun'],
z : ['za','zai','zan','zang','zao','ze','zei','zen','zeng','zha','zhai','zhan','zhang','zhao','zhe','zhei','zhen','zheng','zhi','zhong','zhou','zhu','zhua','zhuai','zhuan','zhuang','zhui','zhun','zhuo','zi','zong','zou','zu','zuan','zui','zun','zuo']
};
alert(testname(name,v));
};
function testname(o,v){
if(v=="")return false;
var arr ="";
var exit = true;
while(exit&&v.length>0){
arr = "";
var f = v.slice(0,1);
if(!o[f]){exit = false; return false};
for(var i=0,l=o[f].length;i<l;i++)
{
if((new RegExp("^("+o[f][i]+")")).test(v))
arr = arr.length>o[f][i].length?arr:o[f][i];
}
if(arr.length==0)
{
exit = false;
}else{
v = v.slice(arr.length,v.length);
}
}
return arr.length>0?true:false;
}</script>
</script>
</body>
</html>
解决方案 »
- getJSON 无法回调函数?
- jquery中:not的点击问题
- alert 的内容太多,使得 alert 框超过显示器屏幕,下面不分内容就看不到了,这个框又不能缩小,请问如何显示
- javascript 操作 xml,生成新的xml文档
- 求正则式
- 为什么在JavaScript里面写文件不能包含这句话: <script type='text/javascript' src='a.js'></script>
- 请大家帮忙看一下代码,本人看不大懂,请高手注释一下!
- 参数传递乱满问题.
- html前台怎么接收后台传回来的json格式数据
- 原创:JavaScript如何实现“面向对象”的各种特征
- 鼠标移动到边界的时候,如何让箭头变成两头尖的样式
- JS 如何验证来路地址??
只是不是很匹配
如 wangun 分wan gun是符合里面的
但是按我写的就会 分为wang un 这个会返回false
function testname(o, v) {
if (!o || !v) return false;
var dict = o[v.charAt(0)];
if (!dict) return false;
for (var i = 0; i < dict.length; i++) {
if (dict[i] == v) return true;
if (v.indexOf(dict[i]) == 0 &&
testname(o, v.substr(dict[i].length))) return true;
}
return false;
}