99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀專訪 | PingCAP黃東旭:我們誕生在中國,但玩出了世界級(jí)技術(shù)
專訪 | PingCAP黃東旭:我們誕生在中國,但玩出了世界級(jí)技術(shù)
2016-09-01
收藏
PingCAP 聯(lián)合創(chuàng)始人&CTO 黃東旭,一定是傳說中的「別人家的孩子」:小學(xué)三年級(jí)開始寫代碼,四、五年級(jí)學(xué) C 語言,高中時(shí)就開始用 Linux,還喜歡畫畫,會(huì)玩搖滾……單看履歷,已然感受到了一萬點(diǎn)傷害。


PingCAP 聯(lián)合創(chuàng)始人&CTO  黃東旭

而在見面之后,言談之中,你就能理解這位別「人家的孩子」之所以成為傳說的原因——真正的熱愛,以及對(duì)極致和完美的追求。因?yàn)閺男【烷_始接觸,編程這件事情對(duì)黃東旭來說,從不是糊口的手藝,而是一項(xiàng)值得付出心血和時(shí)間的事業(yè)。他在自己喜歡的領(lǐng)域內(nèi)不曾停下腳步,直到現(xiàn)在,走到了PingCAP。

在加入PingCAP之前,黃東旭曾任職微軟亞洲研究院、網(wǎng)易、豌豆莢,一直負(fù)責(zé)基礎(chǔ)軟件相關(guān)的工作。在豌豆莢,黃東旭遇到了劉奇和崔秋,三人對(duì)于分布式數(shù)據(jù)庫的未來同樣寄予厚望,一拍即合,便集結(jié)小伙伴創(chuàng)辦了PingCAP。

上世紀(jì)70年代,IBM發(fā)明了關(guān)系型數(shù)據(jù)庫。但是隨著現(xiàn)在移動(dòng)互聯(lián)網(wǎng)的發(fā)展,接入設(shè)備越來越多,數(shù)據(jù)量越來越大,業(yè)務(wù)越來越復(fù)雜,傳統(tǒng)的數(shù)據(jù)庫顯然已經(jīng)不能滿足海量數(shù)據(jù)存儲(chǔ)的需求。雖然目前市場上也不乏分布式數(shù)據(jù)庫模型,但沒有品位的文藝青年不是好工程師,黃東旭覺得,不,這些方案都不是我想要的,它們不夠美,鮮少能夠把分布式事務(wù)與彈性擴(kuò)展做到完美。

直到2012年底和2013年初,他看到Google發(fā)布的兩篇論文。

這兩篇論文描述了Google內(nèi)部使用的一個(gè)海量關(guān)系型數(shù)據(jù)庫F1/Spanner,解決了關(guān)系型數(shù)據(jù)庫、彈性擴(kuò)展以及全球分布的問題,并在生產(chǎn)中大規(guī)模使用?!叭绻@個(gè)能實(shí)現(xiàn),對(duì)數(shù)據(jù)存儲(chǔ)領(lǐng)域來說將是顛覆性的”,黃東旭為完美方案的出現(xiàn)而興奮,PingCAP的TiDB在此基礎(chǔ)上誕生了。

黃東旭解釋道,TiDB是一款代表未來的新型分布式NewSQL數(shù)據(jù)庫,它可以隨著數(shù)據(jù)增長而無縫水平擴(kuò)展,只需要通過增加更多的機(jī)器來滿足業(yè)務(wù)增長需求,應(yīng)用層可以不用關(guān)心存儲(chǔ)的容量和吞吐;TiDB使用多副本的數(shù)據(jù)存儲(chǔ)和無狀態(tài)服務(wù)節(jié)點(diǎn),依賴Raft分布式選舉算法確保多個(gè)存儲(chǔ)副本之間的強(qiáng)一致性以及完全自動(dòng)的故障恢復(fù),副本自控跨地域部署在不同的數(shù)據(jù)中心,主副本故障時(shí)自動(dòng)安全切換并恢復(fù),真正實(shí)現(xiàn)異地多活。用黃東旭的話說,“它自己會(huì)生長”。

除了顛覆性,TiDB的特殊還在于它的存在方式。作為開源精神的忠實(shí)擁躉,黃東旭與他的合作伙伴一開始就選擇了開源的道路。他不無驕傲地說,“我們?cè)贕itHub上累計(jì)獲得了5000個(gè)Star,這是一個(gè)世界頂級(jí)開源項(xiàng)目的水準(zhǔn)?!遍_源的方式吸引了來自各個(gè)國家和領(lǐng)域的高手,這決定了PingCAP雖然誕生在中國,卻玩出了世界級(jí)的技術(shù)高度,在世界舞臺(tái)上打出了一片天地。

雖說是開源,但黃東旭并不擔(dān)心這個(gè)項(xiàng)目的生存。足夠硬的技術(shù),并能真正解決用戶的痛點(diǎn),黃東旭認(rèn)為這是最樸素也最有效的商業(yè)模式。這兩點(diǎn),PingCAP似乎都不缺。

 
記者手記

與黃東旭先生的交談發(fā)生在八月初,但直到近日才有功夫整理出來。講真,黃東旭先生是我第一個(gè)主動(dòng)要求合影的采訪嘉賓(請(qǐng)忽略我的迷妹本性)。與他的交流也讓人感覺很特別,但特別在哪里,當(dāng)時(shí)不甚了了。

上個(gè)周末,五月天的演唱會(huì)刷屏了。沒去現(xiàn)場也知道,他們唱了一首新歌,叫做《頑固》。我對(duì)這首歌有印象,是因?yàn)樗腗V,它講述了在庸常生活中,那些「初心」的珍貴和難忘。

突然之間,我有些明白,黃東旭先生給人的那點(diǎn)特別的感覺,也許就是這種「初心」。他從少年時(shí)開始,對(duì)自己熱愛的東西從未改變心意,并且能從中享受到樂趣,何其令人歆羨。

非常有幸,我們邀請(qǐng)了黃東旭先生參加這一次的CDAS2016中國數(shù)據(jù)分析師行業(yè)峰會(huì),他將在數(shù)據(jù)庫與技術(shù)實(shí)戰(zhàn)分論壇「分布式數(shù)據(jù)庫與反模式」為主題進(jìn)行分享,時(shí)間為9月4日,上午9:00-12:00,第二會(huì)議廳C區(qū),歡迎小伙伴們也能來到現(xiàn)場與他面對(duì)面交流。最好,你們也都能懷著初心而來。

CDA:當(dāng)時(shí)為什么要?jiǎng)?chuàng)辦PingCAP?

黃東旭:我在豌豆莢認(rèn)識(shí)了劉奇和崔秋。當(dāng)時(shí)在豌豆莢做另外一個(gè)開源軟件叫Codis,也是分布式緩存的開源數(shù)據(jù)庫。我們一直覺得的關(guān)系型數(shù)據(jù)庫這塊沒有一個(gè)好的解決方案。

一直以來,大家正在用的數(shù)據(jù)庫沒有彈性擴(kuò)展功能,在海量數(shù)據(jù)的體量下還能保持像SQL ACID Transaction事務(wù)模型這樣的比較理想的數(shù)據(jù)庫。當(dāng)時(shí)也很苦惱,整個(gè)大數(shù)據(jù)的軟件棧就缺這個(gè)東西?,F(xiàn)在整個(gè)開源社區(qū)也好,還是商業(yè)的方案,都沒有太好的。

后來我們看到Google的兩篇論文 Spanner /F1,這兩篇論文描述了Google內(nèi)部使用的一個(gè)海量關(guān)系型數(shù)據(jù)庫??梢哉f,Google算是第一個(gè)解決了關(guān)系型數(shù)據(jù)庫、彈性擴(kuò)展加上全球分布的問題,并在生產(chǎn)中大規(guī)模使用,開創(chuàng)了整個(gè)NewSQL領(lǐng)域。我們看到這個(gè)論文很激動(dòng),終于有人做出了這個(gè)模型,我們覺得自己也能搞定。

這個(gè)東西門檻非常高,很困難,但如果能做出來,能顛覆現(xiàn)有的關(guān)系型數(shù)據(jù)庫市場。但我們也不畏懼這樣的復(fù)雜問題,決定去專注做一個(gè)面向未來的新型數(shù)據(jù)庫,而且是完全開放源代碼,所有東西都開放。

我們比較重視分享,我們的核心技術(shù),包括Milestone、Roadmap、Document都是開放在Github上?,F(xiàn)在公司涉及了兩個(gè)項(xiàng)目,TiDB和TiKV兩個(gè)加起來在Github上共有5000多個(gè)star,應(yīng)該是這個(gè)領(lǐng)域里世界最頂級(jí)的項(xiàng)目了。

我們的項(xiàng)目在國外比在國內(nèi)還更有名一些,它是從最底層的設(shè)計(jì)上就顛覆了原來所有的模型,代表了很前沿的東西。我們希望把我們的理念和源代碼以及設(shè)計(jì)都讓大家看見,什么才是代表未來的方向,這也是我們?yōu)槭裁匆x擇開源。

現(xiàn)在國內(nèi)大部分廠商還處在聽、看、用這樣的階段,還沒有辦法根據(jù)自己的需求和想法去引領(lǐng)一個(gè)社區(qū)。很多數(shù)據(jù)分析師習(xí)慣去找現(xiàn)成的產(chǎn)品,很少自己或者drive一撥人去立一個(gè)項(xiàng)目,寫出一個(gè)東西在社區(qū)內(nèi)推廣。但這個(gè)趨勢在慢慢變好,在北上廣這些IT公司技術(shù)能力越來越強(qiáng),對(duì)于基礎(chǔ)軟件的想法和掌控能力越來越好,硅谷和中國的差距在慢慢縮小,中國也開始產(chǎn)生一些世界頂級(jí)的開源商。

最近幾年中國出來的頂級(jí)項(xiàng)目背后基本上都有一個(gè)我們這樣真正以開源項(xiàng)目為核心產(chǎn)品的團(tuán)隊(duì)。這種公司在美國很多,比如Docker、MAsource、OpenStack等等,在美國已經(jīng)不是稀奇事。

CDA:與其他數(shù)據(jù)庫模型相比,PingCAP要做的東西有什么本質(zhì)上的區(qū)別?

黃東旭:上世紀(jì)70年代,IBM發(fā)明了關(guān)系型數(shù)據(jù)庫,大家都在用。但是隨著現(xiàn)在移動(dòng)互聯(lián)網(wǎng)的發(fā)展,接入設(shè)備越來越多,數(shù)據(jù)量越來越大,業(yè)務(wù)量越來越復(fù)雜。單機(jī)型的數(shù)據(jù)庫的問題在于,同類業(yè)務(wù)數(shù)據(jù)的存儲(chǔ)量就是一臺(tái)機(jī)器,相當(dāng)于一個(gè)杯子不停灌水,遲早會(huì)溢出來,數(shù)據(jù)就存不下了。這個(gè)問題是最近10年才出現(xiàn)。

后來就有一些比較笨的辦法——多弄幾個(gè)水杯。但業(yè)務(wù)其實(shí)是一種業(yè)務(wù),這就需要有很復(fù)雜的邏輯去控制請(qǐng)求一部分?jǐn)?shù)據(jù)存這里,一部分?jǐn)?shù)據(jù)存那里,錯(cuò)了就不行。再去擴(kuò)展的時(shí)候,還需要把一部分?jǐn)?shù)據(jù)從原來的機(jī)器挪到新的機(jī)器,這個(gè)過程非常復(fù)雜,勞民傷財(cái)。一般大公司都會(huì)有一個(gè)專門DBA團(tuán)隊(duì)專門做這個(gè),特別像是在雙十一 、6·18這種大促的時(shí)候,數(shù)據(jù)庫的壓力非常大,可能要提前兩三個(gè)月做數(shù)據(jù)庫容量的擴(kuò)展。

理想的情況是什么呢?可能還是一個(gè)杯子,這個(gè)大杯子由許多小杯子組成,我不停地往里灌水,但杯子自己會(huì)變大。相當(dāng)于一個(gè)小孩子,你喂他吃東西,他自己會(huì)長大,這叫彈性擴(kuò)展。

關(guān)系型數(shù)據(jù)庫的彈性擴(kuò)展是很難做的,原始的關(guān)系模型在70年代就發(fā)表了,他可能壓根就沒想到數(shù)據(jù)庫會(huì)跑到這么多臺(tái)機(jī)器上。直到2010年左右,Google終于搞出了一個(gè)新的模型,在內(nèi)部推行。Google可以說世界上數(shù)據(jù)量最大的公司,一直在與這個(gè)問題做斗爭。Google在全球有這么多業(yè)務(wù),但它只有一個(gè)數(shù)據(jù)庫叫Spanner,上千條業(yè)務(wù)線只用訪問這一個(gè)數(shù)據(jù)庫。全球五大洲都有他的數(shù)據(jù)中心,這些數(shù)據(jù)分布在全球各個(gè)數(shù)據(jù)中心,大概有上10萬臺(tái)的物理節(jié)點(diǎn)。

這個(gè)數(shù)據(jù)庫的設(shè)計(jì)是第一個(gè)將關(guān)系型數(shù)據(jù)庫的理論與彈性擴(kuò)展的邏輯結(jié)合在一起的模型,它在2012年底到2013年初發(fā)布的兩篇論文。但是Google沒有辦法真正開源,因?yàn)樘嫶罅耍褿oogle做的東西都是疊羅漢式的開發(fā),如果要開放自己的數(shù)據(jù)庫,就必須把基礎(chǔ)設(shè)施都開放出來。

但Google作為一個(gè)希望能夠引領(lǐng)行業(yè)的公司,還是決定把這個(gè)模型share出來。這種事情Google也不是第一次干,比如Hadoop其實(shí)就是Google在2003-2006年間3篇論文的實(shí)現(xiàn)。我們認(rèn)為2012、2013年的這兩篇論文跟當(dāng)年的Hadoop同樣重要,甚至意義更大。

這個(gè)系統(tǒng)有什么好處呢?現(xiàn)在大多數(shù)已有的方案都是在小水杯上插管,水滿了之后通過管子流向其它的杯子,或者是在業(yè)務(wù)層做劃分,A業(yè)務(wù)訪問這兒,B業(yè)務(wù)訪問那兒,但都沒有真正直面問題解決問題。現(xiàn)在很多人把數(shù)據(jù)庫和數(shù)據(jù)倉庫的概念割裂開來,也就是說大數(shù)據(jù)平臺(tái)是大數(shù)據(jù)平臺(tái),業(yè)務(wù)數(shù)據(jù)庫是業(yè)務(wù)數(shù)據(jù)庫,它們之間需要離線倒騰數(shù)據(jù),然后再做分析,那為什么不能變成一個(gè)巨大的Database呢?

我們與傳統(tǒng)的方案最大的區(qū)別就在于,看上去與單機(jī)數(shù)據(jù)庫一樣,但它可以彈性擴(kuò)展,容量不夠了,可以直接往集群里啟動(dòng)一臺(tái)新的機(jī)器更進(jìn)去。我們也不對(duì)硬件做任何假設(shè),不管是什么機(jī)器,只管往集群里丟。

還有一個(gè)比較核心的功能是,剛剛提到Google的數(shù)據(jù)庫是遍布在全球各個(gè)數(shù)據(jù)中心的,這個(gè)好處是什么呢?你從來沒聽過Google因?yàn)槟硞€(gè)機(jī)房光纖被挖斷就停止工作了,異地多活,砍掉一個(gè),其他的也不會(huì)受影響,仍然正常運(yùn)轉(zhuǎn)。而且,過一段時(shí)間它會(huì)發(fā)現(xiàn)數(shù)據(jù)中心的小伙伴不見了,會(huì)再去跟其他的數(shù)據(jù)中心或者部署了這個(gè)數(shù)據(jù)節(jié)點(diǎn)的機(jī)器修復(fù)數(shù)據(jù),重新長出來。

目前我們應(yīng)該是唯一一個(gè)能夠做到異地多活的數(shù)據(jù)庫。它的內(nèi)部就像是細(xì)胞,它會(huì)做有絲分裂,一個(gè)分裂成兩個(gè),兩個(gè)分裂成4個(gè),細(xì)胞是這個(gè)系統(tǒng)的最小單位,它會(huì)均勻地分布在各個(gè)機(jī)器上。你可以感覺到這個(gè)系統(tǒng)是活著的,我們作為數(shù)據(jù)庫的開發(fā)者,并不清楚數(shù)據(jù)在數(shù)據(jù)庫中怎樣流動(dòng)、分布、分裂,這由這個(gè)數(shù)據(jù)庫自己決定,好像有一個(gè)大腦指揮。

CDA:開源和商業(yè)化之間矛盾嗎?怎么解決這個(gè)問題?

黃東旭:開源不等于不做商業(yè)化,開源不分國界,技術(shù)也不分國界,我們的理想并不是只做一個(gè)中國的開源項(xiàng)目。其實(shí),如果不知道我們公司在北京,多數(shù)人不會(huì)認(rèn)為這是個(gè)中國的項(xiàng)目,社區(qū)內(nèi)參與的人來自多個(gè)國家各種行業(yè),所以這更像一個(gè)國際化的項(xiàng)目,我們只想做全球最頂尖的技術(shù)。

至于商業(yè)路徑,我們的想法是不能說只做中國市場,而是反過來,要世界上打出名氣,確實(shí)能讓大家知道這個(gè)東西的質(zhì)量非常高,代表未來,大家都在follow你,再回過頭來進(jìn)入中國,這個(gè)路徑可能會(huì)更順暢一些。畢竟我們現(xiàn)在IT行業(yè)的水平跟硅谷還是有點(diǎn)距離,大家還處于學(xué)習(xí)的階段。

另一方面,開源不等于免費(fèi),我們的數(shù)據(jù)庫內(nèi)核是開源的,但商業(yè)公司并不會(huì)因?yàn)殚_源而不付費(fèi),那他可能就得不到support。對(duì)開源項(xiàng)目來說,用的人越多,就越能夠成為事實(shí)標(biāo)準(zhǔn),比如說你有100個(gè)用戶,其中三五個(gè)大客戶愿意為你付費(fèi),就很牛了。

我們也設(shè)計(jì)了一些商業(yè)選件,比如監(jiān)控工具、管理工具、安全插件等。數(shù)據(jù)庫的問題是很多企業(yè)的痛點(diǎn),尤其是在傳統(tǒng)行業(yè)中,他沒有互聯(lián)網(wǎng)公司那么強(qiáng)大的架構(gòu)能力和擴(kuò)展能力。所以他們一直在跟互聯(lián)網(wǎng)取經(jīng),但目前很多方案都非常復(fù)雜,很難一下子吸收,所以我們是直接把最先進(jìn)的東西打包在一起,與原來的操作沒有多大區(qū)別,但可以直接獲得最先進(jìn)的大數(shù)據(jù)擴(kuò)展能力。

所以商業(yè)的問題,首先要真正有兩把刷子,第二真正解決了用戶的痛點(diǎn),這就夠了。這是最樸素也最有效的商業(yè)模式。

CDA:您一直強(qiáng)調(diào)開源精神,那么什么才是真正的開源精神?

黃東旭:Opensource最核心的精神就是分享和溝通。溝通很重要?,F(xiàn)在很多國內(nèi)的開源項(xiàng)目只是開放源代碼而已,其實(shí)源代碼只是整個(gè)opensource精神內(nèi)涵中很小的一部分。開源不僅僅是碼代碼,而是大家自發(fā)地聚集在一起做一件有意義有意思的事情,這個(gè)過程中各種各樣的問題都是需要溝通的,但現(xiàn)在國內(nèi)很少有人在認(rèn)真地做這件事情。在我看來社區(qū)比源代碼更重要。

第二,我們是希望能夠在國內(nèi)樹立一個(gè)做開源項(xiàng)目的標(biāo)桿,讓大家知道世界級(jí)的開源項(xiàng)目該怎么做。現(xiàn)在國內(nèi)已經(jīng)有很多人和大公司已經(jīng)在扭轉(zhuǎn)觀念,不能再閉門造車,特別是基礎(chǔ)軟件,閉門造車是很困難的,你需要大量的用戶做測試、反饋,所以開源是一種更好的軟件分發(fā)的方式。不能藏著掖著,心態(tài)開放,得有自信去引領(lǐng)整個(gè)社區(qū),大家齊心協(xié)力把這個(gè)東西做好。開源社區(qū)里有一條不成文的規(guī)則就是,當(dāng)一個(gè)問題得到完美解決的時(shí)候,不會(huì)再有第二個(gè)人嘗試,所以先發(fā)者是有優(yōu)勢的。所以我并不太擔(dān)心這個(gè)東西開源出去之后就被人拿走了,我們最寶貴的資源不是那些代碼,而是這些社區(qū)的管理者以及我們之間的溝通配合。

CDA:你想給想要進(jìn)入這個(gè)領(lǐng)域的人什么建議?

黃東旭:我們這個(gè)領(lǐng)域算是大數(shù)據(jù)中的一個(gè)細(xì)分,屬于基礎(chǔ)設(shè)施,分布式系統(tǒng)的開發(fā)更偏向于編程相關(guān)的工程能力。其實(shí)我們公司很多人剛加入的時(shí)候,相關(guān)的經(jīng)驗(yàn)也不多,只不過他們都非常熱愛這項(xiàng)工作。

在我看來編程能力反而不是什么硬的門檻,只要智商正常,大家都能搞。興趣和激情是更重要的東西,不害怕接受挑戰(zhàn)。很多人還沒開始做,就有一種畏懼心理。你要對(duì)這項(xiàng)工作有興趣和決心。我和我們的CEO很熱愛這項(xiàng)工作,也長期關(guān)注這個(gè)領(lǐng)域,可以帶著大家一起做。

在這個(gè)行業(yè)里面,工業(yè)界是走在學(xué)術(shù)界前面很多的,如果你是一個(gè)在校大學(xué)生,眼界要放開闊一點(diǎn),開源社區(qū)中做出來的東西或者像Google這類大公司發(fā)布的論文遠(yuǎn)比你在實(shí)驗(yàn)室里做的東西先進(jìn)的多。如果有志于這個(gè)行業(yè),可以盡早地讓自己在大公司里實(shí)現(xiàn),接觸當(dāng)下真正在用的思想和理念。對(duì)于從業(yè)者來說,如果有興趣,不要畏懼困難,真正參與到社區(qū)里來。


想?yún)⒓覥DAS2016中國數(shù)據(jù)分析師行業(yè)峰會(huì),請(qǐng)點(diǎn):

http://cdas.cda.cn/?utm_source=cda.cn&utm_medium=cpc&utm_campaign=syhd


數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請(qǐng)參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }