課程
/前端開發(fā)
/JavaScript
/表單驗證
先是正則表達式[^\d],然后是if條件中if(!re_n.test(this.value))。為什么不能直接\d ,if(re_n.test(this.value))?
2015-08-04
源自:表單驗證 6-1
正在回答
想明白了,來自己答一下。
當直接使用\d的時候,如果value值為1abcdef,那么test()函數(shù)為true,if中的條件判斷也會為true。
而當使用[^\d]的時候,如果value的值為123456,那么test()函數(shù)為false,if中的條件判斷就會為true;
如果value的值為123456f,即至少有一位不為數(shù)字,那么test()函數(shù)就會匹配到這個不為數(shù)字的一位字符,test()函數(shù)值為true,if中的條件判斷就會為false。
舉報
表單驗證是JavaScript中的高級選項之一,輸入框的驗證
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2015-08-04
想明白了,來自己答一下。
當直接使用\d的時候,如果value值為1abcdef,那么test()函數(shù)為true,if中的條件判斷也會為true。
而當使用[^\d]的時候,如果value的值為123456,那么test()函數(shù)為false,if中的條件判斷就會為true;
如果value的值為123456f,即至少有一位不為數(shù)字,那么test()函數(shù)就會匹配到這個不為數(shù)字的一位字符,test()函數(shù)值為true,if中的條件判斷就會為false。