2013-07-31 69 views
-2

我是JavaScript新手。我創建了一個向數據庫提交詳細信息的表單。我有不同的文本框,有些需要接受只有字母和一些只允許數字。只允許使用JavaScript編碼文本框

我在做一些研究時得到了這段代碼,但是這段代碼告訴我一個無效模式。 你能幫助我,讓這段代碼將允許只有字母。我試圖修改代碼,以便它只需要字母,但我失敗了。

function f_check_Lett(form){ //Only letters and numbers allowed 

    var text = form.bucketname.value; 
    alert(text); 

    var filter = /^[A-Za-z0-9]+$/; 
    if (filter.test(text)) { 
     form.submit(); 
    } else { 
     form.bucketname.select(); 
     alert("Only Allow letters and numbers!"); 
    } 
} 

+4

獲取一本好的JavaScript書或找到一個好的教程。如果你想用JavaScript做任何事情,你必須能夠解決簡單的任務,並且你應該能夠在最多十分鐘內從頭開始編寫它。 – Doorknob

+0

你在正則表達式中有0-9,它也會允許數字。 –

+1

請告訴我你也在服務器端進行驗證,而不是直接將文本輸入到數據庫中? – slugster

回答

3

使用過濾器

var filter = /^[A-Za-z]+$/; 

在您的過濾器[A-Za-z0-9]將接受任何字符: 'A' 到 'Z', 'a' 到 'Z' ,'0'到'9'

因爲您只需要字母,請從過濾器中刪除0-9

+0

嗨Damith,當我嘗試只插入字母時,它突出顯示文本框並顯示「請匹配請求的格式」 –

0

試試這個:

var filter = /^[a-zA-Z]+$/.test('sfjd') 

你應該肯定會給jQuery Validate Plugin一個嘗試,雖然。我在我的許多項目中使用過它,它很容易實現。

祝你好運!

+0

即使這是正確的,這也是一個不好的答案。花一些時間來解釋它!一旦有了,我會放棄我的投票。並且請不要只提交一個快速和骯髒的答案,然後使用5分鐘的寬限期來塑造本應該是什麼,你只會造成FGITW問題。 – slugster

+0

@slugster這是一個不好的答案? – karlingen

+2

因爲你最初有一行代碼和文本「祝你好運!」。這是一個不好的答案。 – slugster

0
// Only letters and numbers allowed 
function f_check_Lett(form) { 

    var text = form.bucketname.value; 
    var check_format = isNaN(text); 
    if (check_format == "false") { 
     // your code go here 
    } else { 
     // your code go here 
    } 
} 
+0

false是布爾值,而不是字符串。 –

+0

這隻允許字母嗎? –

相關問題