簡體   English   中英

如何使用正則表達式驗證 Javascript 中的數字字段?

[英]How to validate a Number field in Javascript using Regular Expressions?

以下是否正確?

var z1=^[0-9]*\d$;
{
    if(!z1.test(enrol))
    {
        alert('Please provide a valid Enrollment Number');
        return false;
    }
} 

它目前不適用於我的系統。

您可以將其測試為:

/^\d*$/.test(value)

哪里:

  1. 兩端的/標記正則表達式的開始和結束
  2. 結尾處的^$是檢查完整字符串而不是部分匹配
  3. \\d*查找多次出現的數字字符

你不需要同時檢查\\d[0-9]因為它們都是相同的 - 即匹配數字。

var numberRegex = /^\s*[+-]?(\d+|\.\d+|\d+\.\d+|\d+\.)(e[+-]?\d+)?\s*$/
var isNumber = function(s) {
    return numberRegex.test(s);
};

"0"           => true
"3."          => true
".1"          => true
" 0.1 "       => true
" -90e3   "   => true
"2e10"        => true
" 6e-1"       => true
"53.5e93"     => true

"abc"         => false
"1 a"         => false
" 1e"         => false
"e3"          => false
" 99e2.5 "    => false
" --6 "       => false
"-+3"         => false
"95a54e53"    => false

你這個,它允許一個點和數字可以有“正”和“負”符號

/^[+-]?(?=.)(?:\\d+,)*\\d*(?:\\.\\d+)?$/.test(value)

嘗試:

var z1 = /^[0-9]*$/;
if (!z1.test(enrol)) { }

請記住, *是“0或更多”,因此它也允許空白值。 如果您想要一個數字,請將*更改為+ ,表示“1或更多”

如果你想要一些簡單的東西來測試一個字符串是數字,只有有效的數字沒有+, - 或點。

這有效:

/^\\d*$/.test("2412341" )

真正

/^\\d*$/.test("2412341" )

您還可以使用此正則表達式進行數字驗證
/^\\/(\\d+)$/

暫無
暫無

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

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