2013-04-23 44 views
-2

我是JavaScript新手,無法找到需要的確切代碼。如何獲得只有兩個字母作爲字母,並保留爲文本區域中的數字

我想要一個maxlength =「5」的文本字段,它應該看起來像ex:AE456,LM975。即前兩個字母應該是字母,接下來的三個字母應該是數字。

文本區域只應該按照此模式接受輸入。我不想要任何警報。只需要接受只有這種模式才能輸入的內容。 Javascript是可取的。任何幫助都非常可觀。 在此先感謝。

回答

3

HTML5支持模式,其中一個字段可以按照提供的正則表達式接受值。你可以在這裏找到相關的帖子。 Regex Patterns for HTML5 Text Field

但是,如果你想支持舊的瀏覽器,那麼你必須重視的事件,如「按鍵」輸入欄,以及處理該事件驗證輸入

3

如果你有這樣的HTML:

<input type="text" id="text1" /> 

那麼你可以使用此Javascript:

function validateInput() { 
    var val = document.getElementById("text1").value; 
    return /[A-Z]{2}\d{3}/i.test(val); 
} 

,並調用它像:

if (validateInput()) { 
    // Matches pattern: @@### 
} 

DEMO:http://jsfiddle.net/GgQsz/

這允許開始時使用大寫和小寫字母字符。如果您只想允許大寫,請刪除正則表達式的i標誌。

+0

爲什麼不是'/ [a-z] {2} \ d {3}/i' – 2013-04-23 06:12:13

+0

@Derek朕會功夫因爲我是個白癡。好點:) – Ian 2013-04-23 06:12:27

+1

看看這個;)http://jsfiddle.net/DerekL/Y4Ztn/ – 2013-04-23 06:20:51

相關問題