2011-04-21 61 views
3

我正在製作註冊表格。當用戶選擇用戶名時,我想讓jquery替換除a-z,A-Z,0-9以外的任何東西或空白。取代a-z,A-Z,0-9以外的任何東西或任何空格

所以在keyup上,帶有用戶名id的表單字段將只允許a-z,A-Z,0-9或空格,並用空格替換其他任何內容「」。

我該怎麼做?

+1

如果什麼用戶已關閉JavaScript?你還有服務器端驗證來備份嗎? – 2011-04-21 01:24:20

回答

1

你不應該只是替換那些字符,如然後誰與me!註冊用戶將想知道爲什麼他們不能用它來登錄。如果他們擁有的字符也會消失,他們會感到困惑。您將始終需要綁定其他事件,如paste

取而代之,您應該使用正則表達式replace(/[^a-zA-Z\d ]/g, '')對其進行驗證,然後在用戶有效或無效時返回給用戶。

+0

就是這樣,我想讓它在輸入字段時顯示字段中的更改。 – AndrewFerrara 2011-04-21 01:10:27

+0

@Andrew你不相信這會混淆?例如,如果您在Stack Overflow上輸入了評論,並且角色沒有出現,您會感到困惑嗎?你知道任何其他使用這種方法的高調套件嗎? – alex 2011-04-21 01:16:53

+0

我看到的這種方式通常與警告「你不能使用那個角色」配對。例如,如果在命名文件時鍵入錯誤的字符,Windows文件資源管理器就會使用它。 – 2011-04-21 01:29:00

0
function myCallback(username) { 
    username = username.replace(/[^a-z0-9 ]/gi, ''); 
    /* do stuff with username now */ 
} 
0
.replace(/[^a-z0-9\s]/gi, '').split(' ').join(''); 

尋找空間加入

.split(' ').join(''); 
相關問題