99热热热_国产成人自拍一区_欧美一级网站_99热在线播放_国产精品乱码一区二区三区_久久精品国产一区二区三区

訂閱本欄目 RSS您所在的位置: 深山工作室 > HTML > 正文

收集的javascript客戶端驗(yàn)證函數(shù)大全

網(wǎng)絡(luò) 2008/5/29 8:22:26 深山行者 字體: 瀏覽 12892

一、驗(yàn)證類
1、數(shù)字驗(yàn)證內(nèi)
   1.1 整數(shù)
   1.2 大于0的整數(shù) (用于傳來的ID的驗(yàn)證)
   1.3 負(fù)整數(shù)的驗(yàn)證
   1.4 整數(shù)不能大于iMax
   1.5 整數(shù)不能小于iMin
2、時(shí)間類
   2.1 短時(shí)間,形如 (13:04:06)
   2.2 短日期,形如 (2003-12-05)
   2.3 長時(shí)間,形如 (2003-12-05 13:04:06)
   2.4 只有年和月。形如(2003-05,或者2003-5)
   2.5 只有小時(shí)和分鐘,形如(12:03)
3、表單類
   3.1 所有的表單的值都不能為空
   3.2 多行文本框的值不能為空。
   3.3 多行文本框的值不能超過sMaxStrleng
   3.4 多行文本框的值不能少于sMixStrleng
   3.5 判斷單選框是否選擇。
   3.6 判斷復(fù)選框是否選擇.
   3.7 復(fù)選框的全選,多選,全不選,反選
   3.8 文件上傳過程中判斷文件類型
4、字符類
   4.1 判斷字符全部由a-Z或者是A-Z的字字母組成
   4.2 判斷字符由字母和數(shù)字組成。
   4.3 判斷字符由字母和數(shù)字,下劃線,點(diǎn)號組成.且開頭的只能是下劃線和字母
   4.4 字符串替換函數(shù).Replace();
5、瀏覽器類
   5.1 判斷瀏覽器的類型
   5.2 判斷ie的版本
   5.3 判斷客戶端的分辨率
 
6、結(jié)合類
   6.1 email的判斷。
   6.2 手機(jī)號碼的驗(yàn)證
   6.3 身份證的驗(yàn)證
 

二、功能類

1、時(shí)間與相關(guān)控件類
   1.1 日歷
   1.2 時(shí)間控件
   1.3 萬年歷
   1.4 顯示動(dòng)態(tài)顯示時(shí)鐘效果(文本,如OA中時(shí)間)
   1.5 顯示動(dòng)態(tài)顯示時(shí)鐘效果 (圖像,像手表)
2、表單類
   2.1 自動(dòng)生成表單
   2.2 動(dòng)態(tài)添加,修改,刪除下拉框中的元素
   2.3 可以輸入內(nèi)容的下拉框
   2.4 多行文本框中只能輸入iMax文字。如果多輸入了,自動(dòng)減少到iMax個(gè)文字(多用于短信發(fā)送)
 
3、打印類
   3.1 打印控件
4、事件類
   4.1 屏蔽右鍵
   4.2 屏蔽所有功能鍵
   4.3 --> 和<-- F5 F11,F9,F1
   4.4 屏蔽組合鍵ctrl+N
5、網(wǎng)頁設(shè)計(jì)類
   5.1 連續(xù)滾動(dòng)的文字,圖片(注意是連續(xù)的,兩段文字和圖片中沒有空白出現(xiàn))
   5.2 html編輯控件類
   5.3 顏色選取框控件
   5.4 下拉菜單
   5.5 兩層或多層次的下拉菜單
   5.6 仿IE菜單的按鈕。(效果如rongshuxa.com的導(dǎo)航欄目)
   5.7 狀態(tài)欄,title欄的動(dòng)態(tài)效果(例子很多,可以研究一下)
   5.8 雙擊后,網(wǎng)頁自動(dòng)滾屏
6、樹型結(jié)構(gòu)。
   6.1 asp+SQL版
   6.2 asp+xml+sql版
   6.3 java+sql或者java+sql+xml
7、無邊框效果的制作
8、連動(dòng)下拉框技術(shù)
9、文本排序


一、驗(yàn)證類
1、數(shù)字驗(yàn)證內(nèi)
   1.1 整數(shù)
       /^(-|\+)?\d+$/.test(str)
   1.2 大于0的整數(shù) (用于傳來的ID的驗(yàn)證)
       /^\d+$/.test(str)
   1.3 負(fù)整數(shù)的驗(yàn)證
       /^-\d+$/.test(str)
2、時(shí)間類
   2.1 短時(shí)間,形如 (13:04:06)
       function isTime(str)
       {
         var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
         if (a == null) {alert('輸入的參數(shù)不是時(shí)間格式'); return false;}
         if (a[1]>24 || a[3]>60 || a[4]>60)
         {
           alert("時(shí)間格式不對");
           return false
         }
         return true;
       }
   2.2 短日期,形如 (2003-12-05)
       function strDateTime(str)
       {
          var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
          if(r==null)return false;
          var d= new Date(r[1], r[3]-1, r[4]);
          return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
       }
   2.3 長時(shí)間,形如 (2003-12-05 13:04:06)
       function strDateTime(str)
       {
         var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
         var r = str.match(reg);
         if(r==null)return false;
         var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
         return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
       }
   2.4 只有年和月。形如(2003-05,或者2003-5)
   2.5 只有小時(shí)和分鐘,形如(12:03)
3、表單類
   3.1 所有的表單的值都不能為空
       <input onblur="if(this.value.replace(/^\s+|\s+$/g,'')=='')alert('不能為空!')">
   3.2 多行文本框的值不能為空。
   3.3 多行文本框的值不能超過sMaxStrleng
   3.4 多行文本框的值不能少于sMixStrleng
   3.5 判斷單選框是否選擇。
   3.6 判斷復(fù)選框是否選擇.
   3.7 復(fù)選框的全選,多選,全不選,反選
   3.8 文件上傳過程中判斷文件類型
4、字符類
   4.1 判斷字符全部由a-Z或者是A-Z的字字母組成
       <input onblur="if(/[^a-zA-Z]/g.test(this.value))alert('有錯(cuò)')">
   4.2 判斷字符由字母和數(shù)字組成。
       <input onblur="if(/[^0-9a-zA-Z]/g.test(this.value))alert('有錯(cuò)')">
   4.3 判斷字符由字母和數(shù)字,下劃線,點(diǎn)號組成.且開頭的只能是下劃線和字母
       /^([a-zA-z_]{1})([\w]*)$/g.test(str)
   4.4 字符串替換函數(shù).Replace();
5、瀏覽器類
   5.1 判斷瀏覽器的類型
       window.navigator.appName
   5.2 判斷ie的版本
       window.navigator.appVersion
   5.3 判斷客戶端的分辨率
       window.screen.height;   window.screen.width;
 
6、結(jié)合類
   6.1 email的判斷。
       function ismail(mail)
       {
         return(new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(mail));
       }
   6.2 手機(jī)號碼的驗(yàn)證
   6.3 身份證的驗(yàn)證
       function isIdCardNo(num)
       {
         if (isNaN(num)) {alert("輸入的不是數(shù)字!"); return false;}
         var len = num.length, re;
         if (len == 15)
           re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/);
         else if (len == 18)
           re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/);
         else {alert("輸入的數(shù)字位數(shù)不對!"); return false;}
         var a = num.match(re);
         if (a != null)
         {
           if (len==15)
           {
             var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]);
             var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
           }
           else
           {
             var D = new Date(a[3]+"/"+a[4]+"/"+a[5]);
             var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
           }
           if (!B) {alert("輸入的身份證號 "+ a[0] +" 里出生日期不對!"); return false;}
         }
         return true;
       }

3.7 復(fù)選框的全選,多選,全不選,反選
<form name=hrong>
<input type=checkbox name=All onclick="checkAll('mm')">全選<br/>
<input type=checkbox name=mm onclick="checkItem('All')"><br/>
<input type=checkbox name=mm onclick="checkItem('All')"><br/>
<input type=checkbox name=mm onclick="checkItem('All')"><br/>
<input type=checkbox name=mm onclick="checkItem('All')"><br/>
<input type=checkbox name=mm onclick="checkItem('All')"><br/><br/>


<input type=checkbox name=All2 onclick="checkAll('mm2')">全選<br/>
<input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>
<input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>
<input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>
<input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>
<input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>

</form>

<SCRIPT LANGUAGE="java script">
function checkAll(str)
{
   var a = document.getElementsByName(str);
   var n = a.length;
   for (var i=0; i<n; i++)
   a[i].checked = window.event.srcElement.checked;
}
function checkItem(str)
{
   var e = window.event.srcElement;
   var all = eval("document.hrong."+ str);
   if (e.checked)
   {
     var a = document.getElementsByName(e.name);
     all.checked = true;
     for (var i=0; i<a.length; i++)
     {
       if (!a[i].checked){ all.checked = false; break;}
     }
   }
   else all.checked = false;
}
</SCRIPT>

3.8 文件上傳過程中判斷文件類型
<input type=file onchange="alert(this.value.match(/^(.*)(\.)(.{1,8})$/)[3])">

畫圖:
<OBJECT
id=S
style="LEFT: 0px; WIDTH: 392px; TOP: 0px; HEIGHT: 240px"
height=240
width=392
classid="clsid:369303C2-D7AC-11D0-89D5-00A0C90833E6">
</OBJECT>
<SCRIPT>
S.DrawingSurface.ArcDegrees(0,0,0,30,50,60);
S.DrawingSurface.ArcRadians(30,0,0,30,50,60);
S.DrawingSurface.Line(10,10,100,100);
</SCRIPT>

寫注冊表:
<SCRIPT>
var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.RegWrite ("HKCU\\Software\\ACME\\FortuneTeller\\", 1, "REG_BINARY");
WshShell.RegWrite ("HKCU\\Software\\ACME\\FortuneTeller\\MindReader", "Goocher!", "REG_SZ");
var bKey =     WshShell.RegRead ("HKCU\\Software\\ACME\\FortuneTeller\\");
WScript.Echo (WshShell.RegRead ("HKCU\\Software\\ACME\\FortuneTeller\\MindReader"));
WshShell.RegDelete ("HKCU\\Software\\ACME\\FortuneTeller\\MindReader");
WshShell.RegDelete ("HKCU\\Software\\ACME\\FortuneTeller\\");
WshShell.RegDelete ("HKCU\\Software\\ACME\\");
</SCRIPT>

TABLAE相關(guān)(客戶端動(dòng)態(tài)增加行列)
<HTML>
<SCRIPT LANGUAGE="JScript">
function numberCells() {
     var count=0;
     for (i=0; i < document.all.mytable.rows.length; i++) {
         for (j=0; j < document.all.mytable.rows(i).cells.length; j++) {
             document.all.mytable.rows(i).cells(j).innerText = count;
             count++;
         }
     }
}
</SCRIPT>
<BODY onload="numberCells()">
<TABLE id=mytable border=1>
<TR><TH>&nbsp;</TH><TH>&nbsp;</TH><TH>&nbsp;</TH><TH>&nbsp;</TH></TR>
<TR><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
</TABLE>
</BODY>
</HTML>

1.身份證嚴(yán)格驗(yàn)證:

<script>
var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"內(nèi)蒙古",21:"遼寧",22:"吉林",23:"黑龍江 ",31:"上海",32:"江蘇",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山東",41:"河南",42:"湖北 ",43:"湖南",44:"廣東",45:"廣西",46:"海南",50:"重慶",51:"四川",52:"貴州",53:"云南",54:"西藏 ",61:"陜西",62:"甘肅",63:"青海",64:"寧夏",65:"新疆",71:"臺灣",81:"香港",82:"澳門",91:"國外 "}
 
function cidInfo(sId){
var iSum=0
var info=""
if(!/^\d{17}(\d|x)$/i.test(sId))return false;
sId=sId.replace(/x$/i,"a");
if(aCity[parseInt(sId.substr(0,2))]==null)return "Error:非法地區(qū)";
sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));
var d=new Date(sBirthday.replace(/-/g,"/"))
if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))return "Error:非法生日";
for(var i = 17;i>=0;i --) iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11)
if(iSum%11!=1)return "Error:非法證號";
return aCity[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2?"男":"女")
}

document.write(cidInfo("380524198002300016"),"<br/>");
document.write(cidInfo("340524198002300019"),"<br/>")
document.write(cidInfo("340524197711111111"),"<br/>")
document.write(cidInfo("34052419800101001x"),"<br/>");
</script>

2.驗(yàn)證IP地址
<SCRIPT LANGUAGE="java script">
function isip(s){
var check=function(v){try{return (v<=255 && v>=0)}catch(x){return false}};
var re=s.split(".")
return (re.length==4)?(check(re[0]) && check(re[1]) && check(re[2]) && check(re[3])):false
}

var s="202.197.78.129";
alert(isip(s))
</SCRIPT>

相關(guān)閱讀
一個(gè)運(yùn)行HTML文件的代碼
金岸國際旅行社
商業(yè)版增加線路日期報(bào)價(jià)功能樣式選擇(增加了3個(gè)日期報(bào)價(jià)效果)
JS+CSS實(shí)現(xiàn)圖片放大預(yù)覽效果(購物時(shí)放在產(chǎn)品上面預(yù)覽圖片)
07 問題錯(cuò)誤整理 程序目錄權(quán)限 父路徑?jīng)]打開錯(cuò)誤
asp用BcH將二進(jìn)制轉(zhuǎn)十六進(jìn)制然后再HcB將十六進(jìn)制轉(zhuǎn)二進(jìn)制
凹陷文字
測試電腦硬件信息軟件
共有0條關(guān)于《收集的javascript客戶端驗(yàn)證函數(shù)大全》的評論
發(fā)表評論
正在加載評論......
返回頂部發(fā)表評論
呢 稱:
表 情:
內(nèi) 容:
評論內(nèi)容:不能超過 1000 字,需審核,請自覺遵守互聯(lián)網(wǎng)相關(guān)政策法規(guī)。
驗(yàn)證碼: 驗(yàn)證碼 
網(wǎng)友評論聲明,請自覺遵守互聯(lián)網(wǎng)相關(guān)政策法規(guī)。

您發(fā)布的評論即表示同意遵守以下條款:
一、不得利用本站危害國家安全、泄露國家秘密,不得侵犯國家、社會、集體和公民的合法權(quán)益;
二、不得發(fā)布國家法律、法規(guī)明令禁止的內(nèi)容;互相尊重,對自己在本站的言論和行為負(fù)責(zé);
三、本站對您所發(fā)布內(nèi)容擁有處置權(quán)。

更多信息>>欄目類別選擇
百度小程序開發(fā)
微信小程序開發(fā)
微信公眾號開發(fā)
uni-app
asp函數(shù)庫
ASP
DIV+CSS
HTML
python
更多>>同類信息
dw里面查找替換使用正則刪除sqlserver里面的CONSTRAINT
javascript獲取瀏覽器指紋可以用來做投票
火狐Mozilla Firefox出現(xiàn):無法載入您的Firefox配置文件 它可能已經(jīng)丟失 或是無法訪問 問題解決集合處理辦法
DW設(shè)置之后更好用 DreamweaverCS編輯GB2312與UTF-8文件在代碼視圖中點(diǎn)擊鼠標(biāo)錯(cuò)位問題的解決辦法
js指定日期加n天加n月加n年
jquery中動(dòng)態(tài)生成的代碼使用on hover事件時(shí)不出現(xiàn)效果
更多>>最新添加文章
dw里面查找替換使用正則刪除sqlserver里面的CONSTRAINT
Android移動(dòng)端自動(dòng)化測試:使用UIAutomatorViewer與Selenium定位元素
抖音直播音掛載小雪花 懂車帝小程序
javascript獲取瀏覽器指紋可以用來做投票
火狐Mozilla Firefox出現(xiàn):無法載入您的Firefox配置文件 它可能已經(jīng)丟失 或是無法訪問 問題解決集合處理辦法
在Android、iOS、Windows、MacOS中微信小程序的文件存放路徑
python通過代碼修改pip下載源讓下載庫飛起
python里面requests.post返回的res.text還有其它的嗎
更多>>隨機(jī)抽取信息
利用css3.0寫出一個(gè)音樂播放的唱片碟盤的效果
asp截取字符串:根據(jù)右邊第一個(gè)點(diǎn)(.)去掉擴(kuò)展名
深山留言板2.14情人節(jié)留言板模板v4.8
過濾輸入字符串中的危險(xiǎn)符號
非??岬膉avascript實(shí)現(xiàn)萬年歷功能
五個(gè)簡單措施增強(qiáng)IIS安全性
99热热热_国产成人自拍一区_欧美一级网站_99热在线播放_国产精品乱码一区二区三区_久久精品国产一区二区三区
  • <li id="6qmi0"></li>
  • <li id="6qmi0"><source id="6qmi0"></source></li>
    免费国产一区二区| 欧美三级不卡| 一区二区三区av在线| 欧美国产激情| 中文精品视频| 999国内精品视频在线| caoporn国产精品免费公开| 国产一区二区高清视频| 日韩片电影在线免费观看| 午夜精品剧场| 蜜桃av久久久亚洲精品| 国内精品二区| 欧美大片专区| 老妇喷水一区二区三区| 欧美日韩一区二区三区在线观看免 | 在线高清一区| yellow视频在线观看一区二区 | 99热在线国产| 日本在线观看一区二区三区| 欧美日本国产精品| 91精品入口蜜桃| 婷婷四房综合激情五月| 999亚洲国产精| 久久综合久久久| 亚洲精品一区二区三区蜜桃久| 成人羞羞视频免费| 欧美片第1页综合| 动漫一区二区在线| 欧美精品一区在线| 国产精品一区二区三区免费 | 午夜午夜精品一区二区三区文| 最新成人av网站| 久久综合久久综合这里只有精品| 国自产拍偷拍福利精品免费一 | 国产亚洲永久域名| 日韩精品极品视频在线观看免费| 9色国产精品| 亚洲狠狠婷婷综合久久久| 亚洲一区二区三区四区中文| 涩涩涩999| av色综合网| 99精品热6080yy久久| 无遮挡亚洲一区| 国产91社区| 国产手机视频一区二区| 在线观看亚洲视频啊啊啊啊| 国产精品精品软件视频| 一区二区三区免费看| 一区二区视频在线播放| 久久av一区二区| 久久午夜视频| 国产日韩亚洲| 亚洲性感美女99在线| 丝袜美腿玉足3d专区一区| 成人欧美一区二区三区黑人免费| 亚洲激情亚洲| 亚洲乱码国产乱码精品天美传媒| 国产伦一区二区三区色一情| 国产一区二区黄色| 黄色日韩在线| 欧美成人亚洲| 一区二区三区欧美在线| 欧美精品欧美精品| 国产区日韩欧美| 99视频在线| 久久综合导航| 久久人人精品| 久久综合伊人77777麻豆| 亚洲一卡久久| 国产一区二区三区久久| 亚洲精品乱码| 亚洲精一区二区三区| 亚洲黑丝一区二区| 精品不卡视频| 尹人成人综合网| 亚洲欧洲日本mm| 亚洲国产欧美不卡在线观看| 欧美日韩国产不卡在线看| 最新欧美日韩亚洲| 中文字幕在线亚洲三区| 一区二区视频在线播放| 欧美成人免费在线| 欧美午夜一区二区福利视频| 欧美日韩高清免费| 精品91视频| 国产欧美日本| 97视频资源在线观看| 国产伦理久久久| 日本不卡一区二区三区视频| 欧美二区三区在线| 日本在线成人一区二区| 亚洲一区二区三区乱码| 欧美精品首页| 日韩视频不卡| 久久影院亚洲| 麻豆视频成人| 在线免费一区| 亚洲三级网站| 99热在线国产| 日韩久久在线| 韩国在线一区| 美日韩精品视频| 美女三级99| 欧美a级在线| 国产亚洲欧美一区二区三区| 91九色极品视频| 日本视频一区二区在线观看| 中国成人在线视频| 亚洲色图自拍| 黄色91av| 欧美午夜免费| 97在线资源站| 亚洲一区二区四区| 国产精品久久国产三级国电话系列| 99re在线国产| 亚洲欧美丝袜| 亚洲一区区二区| 欧美国产综合视频| 一区在线电影| 国产欧美日韩在线播放| 中文字幕精品一区日韩| 亚洲欧美99| 日韩欧美亚洲在线| 亚洲永久视频| 天堂av一区二区| 亚洲欧美清纯在线制服| 日本中文不卡| 香蕉成人久久| 一本色道婷婷久久欧美 | 国产日韩久久| 日本一区二区在线视频观看| 亚洲国产精品第一区二区三区 | 九九99玖玖| 亚洲国产午夜| 日本一区二区不卡高清更新| 在线亚洲免费| 天天久久人人| 5566中文字幕一区二区| 午夜视频精品| 精品国产91亚洲一区二区三区www| 欧美精品18| 蜜桃麻豆www久久国产精品| 亚洲精品资源| 亚洲一区美女| 国产综合 伊人色| 国产欧美日韩在线播放| 性欧美.com| 国产久一道中文一区| 亚洲精品欧洲精品| 亚洲精品一区二| 精品国产一区二区三区麻豆免费观看完整版| 国产自产在线视频一区| 欧美国产一二三区| 97久久人人超碰caoprom欧美| 国产综合亚洲精品一区二| 欧美一区二区三区四区夜夜大片| 蘑菇福利视频一区播放| 欧美性久久久| 亚洲精品成人a8198a| 国产青春久久久国产毛片| 一区二区三区免费看| 欧美尤物一区| 天天综合狠狠精品| 久久免费看av| 国产精品久久久久免费| 午夜一区二区三区不卡视频| 国产精品地址| 一区二区精品国产| 欧洲亚洲一区二区| 久久一区二区三区欧美亚洲| 9a蜜桃久久久久久免费| 欧美亚洲专区| 香蕉久久夜色| 午夜在线视频一区二区区别| 日韩视频一区| 亚洲久久视频| 亚洲精选91| 一区二区三区免费看| 亚洲区一区二| 91久久综合| 夜夜爽99久久国产综合精品女不卡| 欧美三级网页| 国产在线精品一区二区中文| 欧美激情91| 国产精品v欧美精品v日韩精品| 中文字幕99| 国产一区激情| 亚洲精品婷婷| 国产精品一区二区欧美| 国产精品一区二区欧美| 亚洲一区二区在线看| 亚洲在线观看| 91成人理论电影| 国产精品国产一区二区| 国产日韩欧美亚洲一区| 精品国产区在线| 日本精品视频一区| 一区二区精品视频| 欧美精选一区| 国产亚洲毛片|