在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 請教下,js正則表達式,var reg=/\S+/g;reg.test('1')

請教下,js正則表達式,var reg=/\S+/g;reg.test('1');一會為true,一會為false,為什么

1、輸入框不能為空,應該怎么寫?

var Validators={
    regNoSpace:/\S+/g,
    checkNoSpace:function(str){
        return Validators.regNoSpace.test(str);
    }
}

clipboard.png

lastIndex:

clipboard.png

回答
編輯回答
夏木

正則匹配全局后 lastIndex會加1,下一次匹配會變成從第二位開始,而你test里面只有1位,所以匹配失敗,匹配失敗后lastIndex會變成0,再下一次匹配從第一位開始,匹配成功.....
要么去掉/g,要么手動把reg.lastIndex=0

2017年8月12日 15:41
編輯回答
我不懂

第二次執(zhí)行test時,lastIndex值已經(jīng)改變,可參考test

關于輸入框不能為空:拿到輸入框的值后,trim()操作,再進行判斷

2018年5月23日 07:53