精華區beta RegExp 關於我們 聯絡資訊
在使用javascript判斷使用者填入的表單內容 有一格是只能填入中文 有一格是只能填入中文和英文、數字,但是不能填入任何的特殊符號 如~!@#$%^&*()_+|`-=\,./;'[]<>?:"{}等等 應該要怎麼寫呢?? 我用的是像這樣 var reg_name = new RegExp("[a-z,A-Z,0-9]+","ig"); 這樣只能知道是否填入入字和英文 但是仍然不知道是否填入特殊符號 在此感謝您的回答~~ 感謝ybite的回答 那我說明一下這樣做的原因 我會將表單的資料塞進資料庫(mssql) 但是最近發現,有不合法的資料,導致每次select到那筆資料,資料庫就掛掉 (出現嚴重錯誤,就自動關閉資料庫了) 所以要限制使用者在輸入時不要輸入一些特殊字元 特別是某些會影響資料庫的 (只是現在還沒找到是什麼字元影響到) 而且又必須仍要能輸入中文、數字、英文.... 所以才在這裡提問... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.120.164.146
ybite:這很困難,Unicode那麼大,隨便抽都是特殊符號... 12/24 20:10
※ 編輯: no1kk 來自: 219.84.60.64 (12/24 22:42)
fphoenix923:[\u4E00-\u9FA5\w\d],中文字的範圍好大,得去找資料 12/26 23:05
giacch: 中文化 應該會有相關資料... 12/26 23:37
> -------------------------------------------------------------------------- < 作者: bmzz (告白當然要唱這首歌) 看板: RegExp 標題: Re: [問題] 能否判斷只有中文? 能否判斷沒有特殊符號? 時間: Sat Feb 7 03:21:17 2009 function check(str) { var codeStr = ""; var subStr = ""; for (i = 0, n = str.length; i < n; i++) { codeStr = str.charCodeAt(i); subStr = str.charAt(i); if (!isChinese(codeStr)) { var re = /^[^a-zA-Z0-9]$/g; if (re.test(subStr)) { return false; } } } return true; } function isChinese(code) { if (code > 256) { return true; } else { return false; } } // test 1 - result is true alert("我是誰 " + check("我是誰")); // test 2 - result is false alert("我是誰123AAA你好嗎* " + check("我是誰123AAA你好嗎*")); // test 3 - result is true alert("我是誰123AAA你好嗎 " + check("我是誰123AAA你好嗎")); === 試試看這樣子行不行 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.115.150.126
appleboy46:http://blog.wu-boy.com/2009/01/22/726/ 參考這篇吧 02/20 00:20