2015-10-16 27 views
1

嘗試使用其中的空格進行數字驗證。但它不適合我。只有在javascript正則表達式中使用空格驗證的數字

if(!user_phone.match(/[^0-9\s]/)) 
    { 
     $('#user_phone').css({"border":"1px solid red"}); 
     return false; 
    } 

什麼是我必須使用的正則表達式?

+0

你想在哪裏空間在? – divy3993

+0

「不工作」沒有幫助,它比你想要的要多嗎?比你想要的少?它失敗了哪些情況?它關閉你的電腦嗎?運行時會產生一頭牛嗎?你不希望它做什麼,或者它沒有做什麼,你希望它做什麼?你測試過什麼值? – Amadan

回答

4

嘗試使用此正則表達式/^[0-9 ]+$/[0-9 ]+
希望這有助於。

2

您正在使用不同的號碼和空白百搭其中negated character class,你需要把錨^出字符類:

/^[0-9\s]/ 

還要注意的是,如果你想匹配多個字符即可使用修飾+匹配數量和空白的一個或多個組合:

/^[0-9\s]+/ 

並注意\s會匹配所有空格包含選項卡和...如果你想匹配空間,你需要使用空間^[0-9 ]+。而如果你想在多行文本中使用這個正則表達式,你需要使用標誌m,這使得正則表達式引擎匹配每行開頭的錨點^

1

您也可以使用此:

/^[\d\s]+$/ 
0

下面是一個例子,如何做:jsfiddle

下面是實際的代碼:

$('button').on('click', function(e){ 
    user_phone = $('#user_phone').val(); 
    $('#user_phone').css({"border":"1px solid #ccc"}); 
    if(!user_phone.match(/^\d[\d\s]+\d$/)) 
    { 
     $('#user_phone').css({"border":"1px solid red"}); 
    }  
}) 

校驗是指:

  1. 如果匹配不是tr ue,將輸入的邊框變爲紅色。
  2. 在比賽中是這樣說的:如果數值以數字開頭並以數字結尾(因爲以空格開始/結束沒有任何意義),並且在兩者之間只有數字和空格(多於一個) ,那麼它是一個真實的(但因爲沒有(!),那麼它會檢查無效的電話號碼。

也永遠不會忘記重置狀態,因爲在後期階段,你總是會得到紅色背景,如果你甚至輸入一個錯誤的電話號碼

相關問題