MozTW 討論區 https://forum.moztw.org/ |
|
請教 Javascript 中 string test 的問題 https://forum.moztw.org/viewtopic.php?f=13&t=34920 |
第 1 頁 (共 1 頁) |
發表人: | ddns001 [ 2012-03-30, 16:00 ] |
文章主題 : | 請教 Javascript 中 string test 的問題 |
想請問 Javascript 中關於 string test 的問題, 程式如下 : 代碼: <html> <head> <script language="javascript"> function dat_check() { var invalid_ascii = /[^\x30-\x39]/g; if(document.show_form.dat_name.value != "") { if(invalid_ascii.test(document.show_form.dat_name.value) == true) alert("fail"); else alert("pass"); } } </script> </head> <body> <form name="show_form"> <input type="text" name="dat_name" value=""> <input type="button" name="btn_submit" value="ok" onclick="dat_check()"> </form> </body> </html> 這是測試使用者輸入的內容是否為數字(0~9), 是的話顯示 pass, 否則顯示 fail. 測試環境 windows xp, firefox 3.6.28, ie6 firefox : 輸入數字, 動作正常, 會顯示 pass, 但是輸入非數字, 假設輸入一個 a, 之後按 ok -> 顯示 fail, 再按 ok -> 顯示 pass, 再按 ok -> 顯示 fail.., 如此循環. ie : 輸入數字, 動作正常, 會顯示 pass, 輸入非數字, 動作正常, 會顯示 fail. 如果把 /[^\x30-\x39]/g 改成 /[^\x30-\x39]/ 則就完全正常. 請問這是 firefox 還是 ie 的問題阿. 另外請問一下, 在網路上查到說 g 表示全域比對, 但是都沒有更近一步的 說明, 有人有更詳細的說明嗎, 謝謝. |
第 1 頁 (共 1 頁) | 所有顯示的時間為 UTC + 8 小時 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |