2013-06-29 43 views
2

我已經設法驗證我的字段,所以它始終是四位數字,但我需要驗證,以便它始終是一個數字。我試着添加這段代碼,但它不能正常工作。 !如何驗證文本字段,使其只能包含一個四位數

if (!(document.ExamEntry.cand.value.match(numbers))) { 
    msg += "Only use numeric characters \n"; 
    document.ExamEntry.cand.focus(); 
    document.getElementById('cand').style.color = "red"; 
    result = false; 
} 

這將允許像4位9a9a組合或2#3等 我添加了「數字」這樣的變量;

var numbers = /[0-9]/; 

什麼是這樣做驗證一個更好的辦法?

+4

正則表達式是錯誤的。 「四位數字,沒有別的」是'/^[0-9] {4} $ /'。你現在擁有的是「輸入中至少有一位數字」。 – Jon

+0

非常感謝,它現在完美地工作。 – user2534663

+0

這是GCSE評估工作,正在進行正式資格認證。應該沒有人以這種方式要求幫助。我不知道有關資格的確切規則,但我懷疑這是對他們的反對。 – GKFX

回答

2

/^[0-9]{4}$/四個數字

​​對數字的任何量

/^[0-9]+$/至少一個數量

4

比方說,你讓你的價值在這裏

var val = document.ExamEntry.cand.value; 

然後如果你想它是內部有4位數字的東西,就這樣做

var itIsNumber = /^\d{4}$/.test(val); // true if it is what you want 
如果你希望它是什麼用1到4位內部

,只是這樣做

var itIsNumber = /^\d{1,4}$/.test(val); // true if it is what you want 

更多的例子和細節在這裏 - >Regular Expressions

相關問題