課程
/前端開發(fā)
/JavaScript
/表單驗(yàn)證
先聲明了變量re_n 為[^\d]就是非數(shù)字,后來判斷的時(shí)候又加一個(gè)!就是負(fù)負(fù)得正,為什么不就前面聲明的時(shí)候就[\d]
2016-05-03
源自:表單驗(yàn)證 6-1
正在回答
隔了這么久了,但是居然都沒有反對(duì)意見。這里是不應(yīng)該寫成/\d/g或者/[\d]/g這種形式的。
/\d/g或者/[\d]/g這種寫法,調(diào)用test()方法,被檢測(cè)字符串里只要有數(shù)字存在,那么就返回true,與要求不能全為數(shù)組大相庭徑。例如123as,123,as123,都是ture。
寫成老師這種/[^\d]/g表示存在不為數(shù)字的字符,這樣寫是很合理的。一個(gè)字段存在了不為數(shù)字的字符也就是不全為數(shù)字了,就是正確的。
然而連一個(gè)不為數(shù)字的字符也沒有呢。也就是上面情況的否定。就是if(!re_n . test(this.value))這條語句了,就顯示報(bào)錯(cuò)信息,不能全為數(shù)字。
如果你非要用/\d/g這種形式的話要加上出現(xiàn)的次數(shù),比如出現(xiàn)6次就是/\d{6}/g這樣就是6次出現(xiàn)數(shù)字,當(dāng)你只輸入了6次也就是全為數(shù)字了。不過這樣寫很麻煩,還要判斷輸入了多少位,倒不如就像老師這樣寫。
CC貓
我也感覺奇怪,為什么非要后面又反回來,莫非老師嫌代碼量不多
可以啊,每個(gè)人邏輯不一樣而已
舉報(bào)
表單驗(yàn)證是JavaScript中的高級(jí)選項(xiàng)之一,輸入框的驗(yàn)證
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2016-06-11
隔了這么久了,但是居然都沒有反對(duì)意見。這里是不應(yīng)該寫成/\d/g或者/[\d]/g這種形式的。
/\d/g或者/[\d]/g這種寫法,調(diào)用test()方法,被檢測(cè)字符串里只要有數(shù)字存在,那么就返回true,與要求不能全為數(shù)組大相庭徑。例如123as,123,as123,都是ture。
寫成老師這種/[^\d]/g表示存在不為數(shù)字的字符,這樣寫是很合理的。一個(gè)字段存在了不為數(shù)字的字符也就是不全為數(shù)字了,就是正確的。
然而連一個(gè)不為數(shù)字的字符也沒有呢。也就是上面情況的否定。就是if(!re_n . test(this.value))這條語句了,就顯示報(bào)錯(cuò)信息,不能全為數(shù)字。
如果你非要用/\d/g這種形式的話要加上出現(xiàn)的次數(shù),比如出現(xiàn)6次就是/\d{6}/g這樣就是6次出現(xiàn)數(shù)字,當(dāng)你只輸入了6次也就是全為數(shù)字了。不過這樣寫很麻煩,還要判斷輸入了多少位,倒不如就像老師這樣寫。
2016-05-26
我也感覺奇怪,為什么非要后面又反回來,莫非老師嫌代碼量不多
2016-05-08
可以啊,每個(gè)人邏輯不一樣而已