簡體   English   中英

只有在javascript正則表達式中使用空格驗證的數字

[英]Only Number with space validation in javascript regex

嘗試使用空格進行數字驗證。 但它不適合我。

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

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

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

您正在使用一個否定的字符類 ,它匹配除數字和空格之外的所有內容,您需要將錨點^放在字符類之外:

/^[0-9\s]/

另請注意,如果要匹配多個字符,可以使用修飾符+來匹配數字和空格的一個或多個組合:

/^[0-9\s]+/

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

你也可以用這個:

/^[\d\s]+$/

以下是如何完成的示例: 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. 如果匹配不為真,則將輸入的邊框着色為紅色。
  2. 在匹配中說:如果值以數字開頭並以數字結尾(因為以空格開頭/結尾沒有任何意義)並且介於兩者之間只有數字和空格(多於一個),那么它是一個真實的(但由於不是(!),它會檢查無效的電話號碼。

也永遠不要忘記重置狀態,因為如果您輸入甚至1個錯誤的電話號碼,在以后的階段您將始終獲得紅色背景

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM