在做web開發的時候,經常需要讓乙個text框只能輸入數字,而數字又不能以0開頭。上網查了很多,卻始終找不到我所需要的,無奈之下自己寫乙個吧。**如下:
**分析:
1、onkeyup 就是鍵盤鬆開後呼叫的事件。
2、/\d/g 這個就是我這裡用的正規表示式。頭尾的/符號表示這裡麵包的是正規表示式;最後乙個g表示全文搜尋;\d是[^0-9]的簡寫,表示非數字的意思(因為我們要把非數字換成'')。
3、value=value.replace(/\d/g,'')先用replace方法把非數字的字元替換成'',再賦值給當前text框的value屬性。
4、(value=value.replace(/\d/g,''))==''?'0':value",判斷替換掉非數字字元後的文字是否為空,為空則補0,不為空就是當前的值了。
5、最後呼叫parseint(value,10)方法,把當前的value轉成數字值,這麼做是為了把類似012這樣的字元前面的0去掉(測試經常挑這樣的毛病,實在**!)。這裡特別要注意的是,使用parseint方法的時候,一定要把value後的10這個引數傳進去,否則像012這樣的字元會被當作8進製的數字來處理的。
6、最後再把這個轉換後的數字賦值給value就是了。
平時在正則方面花的功夫比較少,本想寫個正則,replace下就完了,可這裡是要把正則匹配的字元留下,不匹配的才replace掉,這種正則似乎不太好寫,我寫的都是匹配的正則,怎麼反過來還不知道(有哪位知道的也希望提供個給我哦^^)。暫時還是用int轉換的方式來解決吧。
文中只是個人的理解,有不當之處望高手們批評指正。
輸入框只能輸入數字
正規表示式限制輸入框只能輸入數字 如下 其中,onafterpaste防止使用者從其它地方copy內容貼上到輸入框 輸入框只能輸入字母和下橫線的正規表示式 輸入框只能輸入字母數字和下橫線的正規表示式 或 as3 文字過濾 過濾文字輸入 textfield.restrict 此處為可輸入的內容 fie...
input框限制0開頭的數字 0除外
用到parseint 函式 parseint 函式可解析乙個字串,並返回乙個整數 注釋 只有字串中的第乙個數字會被返回。注釋 開頭和結尾的空格是允許的。提示 如果字串的第乙個字元不能被轉換為數字,那麼 parsefloat 會返回 nan。w3c 利用此特性使用parseint value,10 即...
輸入框中只能輸入數字
syetem.windows.froms 為 keydown keyup 的事件提供資料的類是 keyeventargs 而為 keypress 事件提供資料的類是 keypresseventargs keypress主要用來捕獲數字 注意 包括shift 數字的符號 字母 注意 包括大小寫 小鍵盤...