分享
 
 
 

超级实用的几种表单校验效果收集

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

只能是写限定的东西

程序代码:

ENTER键可以让光标移到下一个输入框

<input onkeydown='if(event.keyCode==13)event.keyCode=9' >

只能是中文 <input onkeyup='value=value.replace(/[ -~]/g,'')' onkeydown='if(event.keyCode==13)event.keyCode=9'>

只能是英文和数字.屏蔽了输入法 <input style='ime-mode:disabled' onkeydown='if(event.keyCode==13)event.keyCode=9'>

只能输入英文和数字 <input onkeyup='value=value.replace(/[\W]/g,'') 'onbeforepaste='clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))' onkeydown='if(event.keyCode==13)event.keyCode=9'>

只能是数字 <input onkeyup='value=value.replace(/[^\d]/g,'') 'onbeforepaste='clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))'>

只能显示,不能修改的文本框 <input readOnly value='只能显示,不能修改'>

*************************************************************

只能是数字,判断按键

程序代码:<script language=javascript>

function onlyNum()

{

if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)||(event.keyCode==8)))

event.returnValue=false;

}

</script>

<input onkeydown='onlyNum();'>

*************************************************************

附:获取键盘的KeyCode

程序代码:<html>

<head>

<script language='javascript'>

ns4 = (document.layers) ? true : false;

ie4 = (document.all) ? true : false;

function keyDown(e){

if(ns4){

var nkey=e.which;

var iekey='现在是ns浏览器';

var realkey=String.fromCharCode(e.which);

}

if(ie4){

var iekey=event.keyCode;

var nkey='现在是ie浏览器';

var realkey=String.fromCharCode(event.keyCode);

if(event.keyCode==32){realkey='\' 空格\''}

if(event.keyCode==13){realkey='\' 回车\''}

if(event.keyCode==27){realkey='\' Esc\''}

if(event.keyCode==16){realkey='\' Shift\''}

if(event.keyCode==17){realkey='\' Ctrl\''}

if(event.keyCode==18){realkey='\' Alt\''}

}

alert('ns浏览器中键值:'+nkey+'\n'+'ie浏览器中键值:'+iekey+'\n'+'实际键为'+realkey);

}

document.onkeydown = keyDown;

if(ns4){

document.captureEvents(Event.KEYDOWN);}

</script>

</head>

<body>

//Javascript Document.

<hr>

<center>

<h3>请按任意一个键。。。。</h3>

</center>

</body>

</html>

限制网页用键盘

程序代码:

<body onkeydown='alert('禁用');return false;'>

限制键盘的某个键:body onkeydown='if(event.keyCode==num){alert('禁用');return false;}

再加个找按键的值

程序代码:<script>

function show(){

alert('ASCII代码是:'+event.keyCode);

}

</script>

<body onkeydown='show()'>

*************************************************************

只能是IP地址

程序代码:<html>

<head>

<meta http-equiv='Content-Type' content='text/html; charset=gb2312'>

<meta name='GENERATOR' content='Microsoft FrontPage 4.0'>

<meta name='ProgId' content='FrontPage.Editor.Document'>

<style>

.a3{width:30;border:0;text-align:center}

</style>

<script>

function mask(obj){

obj.value=obj.value.replace(/[^\d]/g,'')

key1=event.keyCode

if (key1==37 || key1==39)

{ obj.blur();

nextip=parseInt(obj.name.substr(2,1))

nextip=key1==37?nextip-1:nextip+1;

nextip=nextip>=5?1:nextip

nextip=nextip<=0?4:nextip

eval('ip'+nextip+'.focus()')

}

if(obj.value.length>=3)

if(parseInt(obj.value)>=256 || parseInt(obj.value)<=0)

{

alert(parseInt(obj.value)+'IP地址错误!')

obj.value=''

obj.focus()

return false;

}

else

{ obj.blur();

nextip=parseInt(obj.name.substr(2,1))+1

nextip=nextip>=5?1:nextip

nextip=nextip<=0?4:nextip

eval('ip'+nextip+'.focus()')

}

}

function mask_c(obj)

{

clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))

}

</script>

<title>IP地址输入</title>

</head>

<body>IP地址输入

<div style='border-width:1;border-color:balck;border-style:solid;width:165;font-size:9pt'>

<input type=text name=ip1 maxlength=3 class=a3 onkeyup='mask(this)' onbeforepaste=mask_c()>.

<input type=text name=ip2 maxlength=3 class=a3 onkeyup='mask(this)' onbeforepaste=mask_c()>.

<input type=text name=ip3 maxlength=3 class=a3 onkeyup='mask(this)' onbeforepaste=mask_c()>.

<input type=text name=ip4 maxlength=3 class=a3 onkeyup='mask(this)' onbeforepaste=mask_c()>

</div>

</body>

</html>

*************************************************************

用#default#savehistory防止后退清空text文本框

程序代码:

<HTML>

<HEAD>

<META NAME='save' CONTENT='history'>

<STYLE>

.saveHistory {behavior:url(#default#savehistory);}

</STYLE>

</HEAD>

<BODY>

<INPUT class=saveHistory type=text id=oPersistInput>

<input type=button onclick='javascript:location.href='http://www.cnbruce.com/red/'' value='点击进入,再按后退键试试?'>

</BODY>

</HTML>

*************************************************************

TEXTAREA自适应文字行数的多少

程序代码:

<textarea rows=1 name=s1 cols=27 onpropertychange='this.style.posHeight=this.scrollHeight'>

*************************************************************

上传预览图片

程序代码:<img id=pic src=http://www.cnbruce.com/images/logo.gif>

<input type=file name=file><input type=button onclick=pic.src=file.value value=预览图片>

<input type=button onclick=alert(file.value) value=图片地址>

<input type=button onclick='file.outerHTML=file.outerHTML.replace(/value=\w/g,'')' value='清除file里字'>

*************************************************************

去掉下拉选项的边框

程序代码:<div style='position: absolute; left: 10px; top: 10px; width: 115px; height: 20px; clip:rect(2 114 20 2);'>

<select>

<option >cnpeople</option>

<option >cnrose</option>

<option >cnbruce</option>

</select>

</font>

</div>

*************************************************************

下拉列表打开窗口

程序代码:

<select onChange='if(this.selectedIndex && this.selectedIndex!=0){window.open(this.value);}this.selectedIndex=0;'>

<option selected>更多链接……</option>

<option value='http://www.cnbruce.com'>cnbruce</option>

<option value='http://daonet.myrice.com/old/'>daonet</option>

<option value='http://www.blueidea.com'>blue!dea

</select>

*************************************************************

TAB的显示

程序代码:<script> function editTab() { var code, sel, tmp, r var tabs='' event.returnValue = false sel =event.srcElement.document.selection.createRange() r = event.srcElement.createTextRange() switch (event.keyCode) { case (8) : if (!(sel.getClientRects().length > 1)) { event.returnValue = true return } code = sel.text tmp = sel.duplicate() tmp.moveToPoint(r.getBoundingClientRect().left, sel.getClientRects()[0].top) sel.setEndPoint('startToStart', tmp) sel.text = sel.text.replace(/^\t/gm, '') code = code.replace(/^\t/gm, '').replace(/\r\n/g, '\r') r.findText(code) r.select() break case (9) : if (sel.getClientRects().length > 1) { code = sel.text tmp = sel.duplicate() tmp.moveToPoint(r.getBoundingClientRect().left, sel.getClientRects()[0].top) sel.setEndPoint('startToStart', tmp) sel.text = '\t'+sel.text.replace(/\r\n/g, '\r\t') code = code.replace(/\r\n/g, '\r\t') r.findText(code) r.select() } else { sel.text = '\t' sel.select() } break case (13) : tmp = sel.duplicate() tmp.moveToPoint(r.getBoundingClientRect().left, sel.getClientRects()[0].top) tmp.setEndPoint('endToEnd', sel) for (var i=0; tmp.text.match(/^[\t]+/g) && i<tmp.text.match(/^[\t]+/g)[0].length; i++) tabs += '\t' sel.text = '\r\n'+tabs sel.select() break default : event.returnValue = true break } } </script> <textarea cols=75 rows=20 onkeydown='editTab()'> <script> alert('ok') </script> </textarea>

*************************************************************

文本框的上/下拉

程序代码:<form name='cnbruce'>

<textarea name='com'>

</textarea>

</form>

<SPAN title='放大输入框' style='FONT-SIZE: 12px; CURSOR: hand' onclick=document.cnbruce.com.rows+=4>向下</SPAN>

<SPAN title='缩小输入框' style='FONT-SIZE: 12px; CURSOR: hand' class='arrow' onclick='if(document.cnbruce.com.rows>=4)document.cnbruce.com.rows-=4;else return false'>向上</SPAN>

*************************************************************

一个复选框,点击之后一组复选框全部都选上

程序代码:

<input type='checkbox' name='checkA' onpropertychange='for(i=0;i<A.children.length;i++){A.children[i].checked=this.checked}'>a <br> <span id='A'> <input type='checkbox' name='A1'> <input type='checkbox' name='A2'> <input type='checkbox' name='A3'> </span>

*************************************************************

Debug Textarea:在线写 js 脚本的时候,用来即时查错的东西!

程序代码:<HTML>

<HEAD>

<TITLE>Debug Textarea</TITLE>

<meta http-equiv='Content-Type' content='text/html; charset=gb2312'>

</HEAD>

<style>

* {

font-size: 12px

}

body {

margin: 10px; padding: 0px

}

table.list{

cursor: default;

border:1px solid #cccccc

background-color: #cccccc;

border-collapse: collapse;

border-Color: #cccccc;

}

</style>

<script language='javascript'>

// Coded by windy_sk <windy_sk@126.com> 20040205

function reportError(msg,url,line) {

var str = 'You have found an error as below: \n\n';

str += 'Err: ' + msg + ' on line: ' + line;

alert(str);

return true;

}

window.onerror = reportError;

document.onkeydown = function() {

if(event.ctrlKey){

switch(event.keyCode) {

case 82: //r

runcode();

break;

case 83: //s

savecode();

break;

case 71: //g

goto(prompt('Please input the line number', '1'));

break;

case 65: //a

document.execCommand('SelectAll');

break;

case 67: //c

document.execCommand('Copy');

break;

case 88: //x

document.execCommand('Cut');

break;

case 86: //v

document.execCommand('Paste');

break;

case 90: //z

document.execCommand('Undo');

break;

case 89: //y

document.execCommand('Redo');

break;

default:

break;

}

event.keyCode = 0;

event.returnValue = false;

}

return;

}

function show_ln(){

var txt_ln = document.getElementById('txt_ln');

var txt_main = document.getElementById('txt_main');

txt_ln.scrollTop = txt_main.scrollTop;

while(txt_ln.scrollTop != txt_main.scrollTop) {

txt_ln.value += (i++) + '\n';

txt_ln.scrollTop = txt_main.scrollTop;

}

return;

}

function editTab(){

var code, sel, tmp, r

var tabs=''

event.returnValue = false

sel =event.srcElement.document.selection.createRange()

r = event.srcElement.createTextRange()

switch (event.keyCode){

case (8) :

if (!(sel.getClientRects().length > 1)){

event.returnValue = true

return

}

code = sel.text

tmp = sel.duplicate()

tmp.moveToPoint(r.getBoundingClientRect().left, sel.getClientRects()[0].top)

// 出错检验代码~~~~~~

if(sel.parentElement() != tmp.parentElement()) return;

sel.setEndPoint('startToStart', tmp)

sel.text = sel.text.replace(/^\t/gm, '')

code = code.replace(/^\t/gm, '').replace(/\r\n/g, '\r')

r.findText(code)

r.select()

break

case (9) :

if (sel.getClientRects().length > 1){

code = sel.text

tmp = sel.duplicate()

tmp.moveToPoint(r.getBoundingClientRect().left, sel.getClientRects()[0].top)

// 出错检验代码~~~~~~

if(sel.parentElement() != tmp.parentElement()) return;

sel.setEndPoint('startToStart', tmp)

sel.text = '\t'+sel.text.replace(/\r\n/g, '\r\t')

code = code.replace(/\r\n/g, '\r\t')

r.findText(code)

r.select()

}else{

sel.text = '\t'

sel.select()

}

break

case (13) :

tmp = sel.duplicate()

tmp.moveToPoint(r.getBoundingClientRect().left, sel.getClientRects()[0].top)

// 出错检验代码~~~~~~

if(sel.parentElement() != tmp.parentElement()) return;

tmp.setEndPoint('endToEnd', sel)

for (var i=0; tmp.text.match(/^[\t]+/g) && i<tmp.text.match(/^[\t]+/g)[0].length; i++) tabs += '\t'

sel.text = '\r\n'+tabs

sel.select()

break

default :

event.returnValue = true

break;

}

return;

}

function runcode() {

var str = document.getElementById('txt_main').value;

var code_win = window.open('about:blank');

code_win.document.open();

code_win.document.writeln('<script>');

code_win.document.writeln('function reportError(msg,url,line){\nline-=14;\nvar str='You have found an error as below: \\n\\n';\nstr+='Err: '+msg+' on line: '+(line);\nalert(str);\nopener.goto(line);\nopener.focus();\nwindow.onerror=null;\nsetTimeout('self.close()',10);\nreturn true;\n}');

code_win.document.writeln('window.onerror = reportError;');

code_win.document.writeln('<\/script>');

code_win.document.writeln(str);

code_win.document.close();

return;

}

function savecode() {

var str = document.getElementById('txt_main').value;

var code_win = window.open('about:blank','_blank','top=10000');

code_win.document.open();

code_win.document.writeln(str);

code_win.document.close();

code_win.document.execCommand('saveas','','code.html');

code_win.close();

return;

}

function goto(ln) {

if(!/^\d+$/.test(ln)) return;

var obj = document.getElementById('txt_main');

var rng = obj.createTextRange();

var arr = obj.value.replace(/\r/, '').split(/\n/);

if(ln>arr.length) ln = arr.length;

var str_tmp = '';

for(var i=0; i<ln-1; i++) {

str_tmp += arr[i];

}

rng.moveStart('character',str_tmp.length+1);

str_tmp = '';

for(i=ln; i<arr.length; i++) {

str_tmp += arr[i];

}

rng.moveEnd('character',-str_tmp.length);

rng.select();

return;

}

window.onload = function() {document.getElementById('txt_main').value = '<script>\nalert(')\n<\/script>';}

</script>

<BODY>

<table width='600' class='list' border='1' bgcolor='#eeeeee' bordercolorlight='#000000' bordercolordark='#FFFFFF' cellpadding='0' cellspacing='0'>

<tr bgcolor='#cccccc'>

<td colspan='2' height='20' align='center'><b>Debug Textarea</b></td>

</tr>

<tr>

<td colspan='2'>

<table width='95%' border='0' align='center' >

<tr>

<td align='center'><br />

<textarea id='txt_ln' name='content' rows='10' style='width:40px;overflow:hidden;height:200px;border-right:0px;text-align:right;line-height:14px' onselectstart='this.nextSibling.focus();return false' readonly></textarea><textarea id='txt_main' name='content' rows='10' cols='80' onkeydown='editTab()' onkeyup='show_ln()' onscroll='show_ln()' wrap='off' style='overflow:auto;height:200px;padding-left:5px;border-left:0px;line-height:14px'></textarea>

<script>for(var i=1; i<=20; i++) document.getElementById('txt_ln').value += i + '\n';</script>

</td>

</tr>

<tr>

<td align='center'><br />

<input type='button' value=' 运 行 ' onclick='runcode()' accesskey='r'>  

<input type='button' value=' 保 存 ' onclick='savecode()' accesskey='s'>  

<input type='button' value=' 跳 转 ' onclick='goto(prompt('Please input the line number', '1'))' accesskey='g'>  

</td>

</tr>

</table>

</td>

</tr>

</table>

</BODY>

</HTML>

*************************************************************

TAB键在文本域中的体现

程序代码:<script> function editTab() { var code, sel, tmp, r var tabs='' event.returnValue = false sel =event.srcElement.document.selection.createRange() r = event.srcElement.createTextRange() switch (event.keyCode) { case (8) : if (!(sel.getClientRects().length > 1)) { event.returnValue = true return } code = sel.text tmp = sel.duplicate() tmp.moveToPoint(r.getBoundingClientRect().left, sel.getClientRects()[0].top) sel.setEndPoint('startToStart', tmp) sel.text = sel.text.replace(/^\t/gm, '') code = code.replace(/^\t/gm, '').replace(/\r\n/g, '\r') r.findText(code) r.select() break case (9) : if (sel.getClientRects().length > 1) { code = sel.text tmp = sel.duplicate() tmp.moveToPoint(r.getBoundingClientRect().left, sel.getClientRects()[0].top) sel.setEndPoint('startToStart', tmp) sel.text = '\t'+sel.text.replace(/\r\n/g, '\r\t') code = code.replace(/\r\n/g, '\r\t') r.findText(code) r.select() } else { sel.text = '\t' sel.select() } break case (13) : tmp = sel.duplicate() tmp.moveToPoint(r.getBoundingClientRect().left, sel.getClientRects()[0].top) tmp.setEndPoint('endToEnd', sel) for (var i=0; tmp.text.match(/^[\t]+/g) && i<tmp.text.match(/^[\t]+/g)[0].length; i++) tabs += '\t' sel.text = '\r\n'+tabs sel.select() break default : event.returnValue = true break } } </script> <textarea cols=75 rows=20 onkeydown='editTab()'> <script> alert('ok') </script></textarea>

*************************************************************

获取input的非value值,而是显示文本值

程序代码:

<select name='sss' onChange='alert(this.options[this.selectedIndex].text)'>

<option value='1'>asdf</option>

<option value='2'>bbbb</option>

<option value='3'>ccc</option>

</select>

*************************************************************

select里的option进行分类列表

程序代码:

<span style='position:absolute;border:1px inset #d3d6d9'><select style='margin:-2px; width:200px'>

<option selected>------------请选择------------</option>

<optgroup label='JavaScript&VBScript区'>

<option>原 创

<option>经 典

<optgroup label='后台区'>

<option>asp&sql

<option>php&mysql

</select></span>

*************************************************************

动态添加

程序代码:<form name='myForm' method='post'> <select name='dept_company' size='10' multiple id='dept_company' class='mySelect'> <option value=''>Please Select...</option> <option value='a'>AA</option> <option value='b'>BB</option> <option value='c'>CC</option> </select><input name='dept_company_list' type='hidden'> <input name='button' type='button' class='myButton' onClick='addItem('dept_company','dept_company2')' value='添加-->>'> <input name='button' type='button' class='myButton' onClick='deleteItem('dept_company2','dept_company')' value='<<--删除'> <select name='dept_company2' size='10' multiple id='dept_company2' class='mySelect'> </select> </form> <script> function addItem(fromName,toName){ eval('var obj1=myForm.'+fromName); eval('var obj2=myForm.'+toName); obj1.options[0].selected=false; if(obj1.selectedIndex == -1) return false; var tempValue; var tempText; for(var i=1;i<obj1.length;i++){ //begin from 1 if(obj1.selectedIndex == -1)break; tempValue=obj1.options[obj1.selectedIndex].value; tempText=obj1.options[obj1.selectedIndex].text; obj1.options[obj1.selectedIndex]=null; obj2.add(new Option(tempText,tempValue),0); } } function deleteItem(fromName,toName){ eval('var obj1=myForm.'+fromName); eval('var obj2=myForm.'+toName); if(obj1.selectedIndex == -1) return false; var tempValue; var tempText; for(var i=0;i<obj1.length;i++){ //begin from 0 if(obj1.selectedIndex == -1)break; tempValue=obj1.options[obj1.selectedIndex].value; tempText=obj1.options[obj1.selectedIndex].text; obj1.options[obj1.selectedIndex]=null; obj2.add(new Option(tempText,tempValue),1); //addItem index is 1 } } </script>

*************************************************************

提示限制输入的字符数

程序代码:

<script language='JavaScript'>

<!--

function SymError()

{

return true;

}

window.onerror = SymError;

function strlength(str){

var l=str.length;

var n=l

for (var i=0;i<l;i++)

{

if (str.charCodeAt(i)<0||str.charCodeAt(i)>255) n++

}

return n

}

function changebyte(value,length){

var l=strlength(value)

if (l<=length) {

if (document.all!=null) document.all('byte').innerText='还可以输入'+(length-l)+'字节'

}

else

{

document.all('byte').innerText='输入字节数超出范围'

}

return true

}

function changebyte1(value,length){

var l=strlength(value)

if (l<=length) {

if (document.all!=null) document.all('byte1').innerText='还可以输入'+(length-l)+'字节'

}

else

{

document.all('byte1').innerText='输入字节数超出范围'

}

return true

}

function changebyte2(value,length){

var l=strlength(value)

if (l<=length) {

if (document.all!=null) document.all('byte2').innerText='还可以输入'+(length-l)+'字节'

}

else

{

document.all('byte2').innerText='输入字节数超出范围'

}

return true

}

</script>

<form method='post' name=test onSubmit='return checkdata()' action=''>

<TEXTAREA onkeydown='return changebyte1(document.test.icqcontent.value,198)' onkeyup='return changebyte1(document.test.icqcontent.value,198)' name=icqcontent cols=40 rows='3'></TEXTAREA>

<SPAN id=byte1><SCRIPT language=JavaScript>changebyte1(document.test.icqcontent.value,198);</SCRIPT></SPAN>

</form>

*************************************************************

判断填写字数的限制

程序代码:

<script language=javascript>

function gbcount(message,total,used,remain)

{

var max;

max&n, bsp;= total.value;

if(message.value.length > max){

message.value = message.value.substring(0,max);

used.value = max;

remain.value = 0;

alert('留言不能超过规定的字数!');

}

else{

used.value = message.value.length;

remain.value = max - used.value;

}

}

</script>

<form name='myform' >

<textarea name='GuestContent' cols='59' rows='6' onkeydown=gbcount(this.form.GuestContent,this.form.total,this.form.used,this.form.remain); onkeyup=gbcount(this.form.GuestContent,this.form.total,this.form.used,this.form.remain);></textarea>

最多字数:<INPUT disabled maxLength=4 name=total size=3 value=20>

已用字数:<INPUT disabled maxLength=4 name=used size=3 value=0>

剩余字数:<INPUT disabled maxLength=4 name=remain size=3>

</form>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有