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

鍍金池/ 問(wèn)答/iOS  HTML/ ios輸入金額小數(shù)點(diǎn)時(shí)正則驗(yàn)證失敗?

ios輸入金額小數(shù)點(diǎn)時(shí)正則驗(yàn)證失?。?/h1>

我有一個(gè)正則:var tamp = /^(1-9{0,7}|0)(.[d]{1,2})?$/;有一個(gè)input的oninput輸入框事件通過(guò)它來(lái)驗(yàn)證驗(yàn)證輸入的字符是否正確,在android上正常,在chrome上正常,但是在ios上,輸入到“0.”的時(shí)候就不符合tamp正則了,同樣的一個(gè)小數(shù)點(diǎn),為什么android和chrome上正常,ios上就會(huì)報(bào)錯(cuò)呢?求解答

回答
編輯回答
殘淚

是這樣的,在安卓和chrome下,<input type="number">的情況下,輸入0.的時(shí)候,會(huì)將這個(gè)值記為0;而在iOS,會(huì)將這個(gè)值記為0.。由于你后面匹配的是\.[\d]{1,2},小數(shù)點(diǎn)后必定要跟數(shù),導(dǎo)致iOS匹配不成功,因而報(bào)錯(cuò)。
另外,在type="number"的情況下,maxlength屬性不會(huì)生效。

2017年11月10日 13:05
編輯回答
吢丕

現(xiàn)在我的驗(yàn)證方式是不實(shí)時(shí)監(jiān)聽(tīng)輸入框的oninput事件,而是在用戶輸入完成后再去驗(yàn)證用戶輸入的格式,雖然也能用,但是測(cè)試妹子每次拿“0.00---”這樣的輸入字符來(lái)搞事情(僅管這類的非法輸入最終提交的時(shí)候不會(huì)通過(guò)驗(yàn)證),我很郁悶。有誰(shuí)有更好的方法,或者有更好的驗(yàn)證方式?請(qǐng)指教一下小弟啊

2017年4月28日 01:37