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