網頁表單驗證代碼的改進 - 中國WEB開發者網絡 (http://www.webasp.net) -- 技術教程 (http://www.webasp.net/article/) --- 網頁表單驗證代碼的改進 (http://www.webasp.net/article/15/14826.htm) |
| -- 作者:未知 -- 發佈日期: 2004-11-15 |
| 無意中找到了這麼一個東西,請建一個空白的html頁,輸入以下代碼:
<input onkeyup="value=value.replace(/[^\d]/g,'')" > 你會發現這是一個只能輸入數字的自帶正則驗證的文本框,我左思右想這個應該是javascript的東西吧? 可是找了一些javascript正則的文章好像不能這樣用的,但上面的東西在ie6和firefox1.0里都能正確解析。 有html或腳本高手誰能告訴我? 這個東西好雖好,不過也有缺點,比如最大的毛病是鍵盤上的方向鍵失效了,用微軟拼音2003輸入則會把前面的數據清空。後來我嘗試把onkeyup改成onChange,這下上面的問題都解決了,但驗證只有在失去焦點的時候才會產生,不過,這個已經沒關係了。 現在做標單驗證是不是輕鬆多了? 再抄幾個正則表達式,大家可以參考一下: 只能輸入數字和英文 /[\W]/g 只能輸入數字的 /[^\d]/g 只能輸入漢字的 /[^\u4E00-\u9FA5]/g 例子: <input onChange="value=value.replace(/[^\d]/g,'')" > ------------------------------------------------------------ 巨寒~~剛寫完就發現一個bug,就是input控件有記憶功能,連續輸入兩次相同的字符它就當沒發生onChange 不過還好,把它改成onBlur後一切正常,也就是失去焦點。 正確的例子:<input onBlur="value=value.replace(/[^\d]/g,'')" > |
| webasp.net |