2017-03-16 27 views
0

我在表單中有一個'required'。然後我有一個驗證來檢查不允許的字符。這將工作,除非輸入多個空格,則驗證爲確定。 我這樣做的JavaScript驗證:在表單中有多個空格的html驗證失敗

var isGoodMatch = myform.match(/^[0-9\s(-)]*$/); 
if (!isGoodMatch) { 
    alert("The Emergency Contact number contains invalid characters." + myform); 
    return false; 
} 
+0

另一種選擇是,以幫助用戶並刪除空白。 'myform.replace('','');' –

+1

@Peter Brooks,你能澄清一下你在找什麼樣的模式嗎? – Rose

+0

我不在尋找任何模式 - 只是不允許一些字符。我想防止空格,即空格鍵被計算爲允許的值, –

回答

0

查找的東西都是不好的,修剪值,並確認長度:

var badMatchExpression = /[^0-9\s\(\)-]/, 
    trimmed = myform.trim(); 

if(!trimmed.length || trimmed.match(badMatchExpression)){ 
    alert("The Emergency Contact number contains invalid characters." + myform); 
    return false; 
} 
0

使用HTML5輸入驗證模式和/或required屬性上表單元素。

在提交(POST/PUT)到您的服務器之前,請運行額外的js腳本檢查input.value !== ''。 Simething like:

var myInput = document.getElementById('my-input'); 
if(myInput.value !== ''){ 
    //Good to go now 
} 
0

我可能會誤解需要,但我相信你需要一個大寫字母s而不是小寫s。

var num = '(425)-55 1-5555'; 
var regex = new RegExp(/^[0-9\S(-)]*$/); 
var isGood = regex.test(num); 
console.log(isGood); 

小提琴:

https://jsfiddle.net/taylorackley/he5Loqu7/5/

+0

我嘗試了大寫字​​母「S」,它仍然允許我放置多個空格。我在該領域打了幾次(或更多)太空吧。 –

+0

我試過大寫字母S沒有成功。 我曾嘗試在JavaScript中修剪並比較空白。 var stripped = frm.contact.value; stripped = trim(剝離); 唯一沒有工作的是能夠進入多個空間。 –