簡體   English   中英

用於驗證字段的正則表達式

[英]regular expression for validating fields

我正在嘗試驗證:

  • 正則表達式:9999.99,不帶空格(0009.99,它將轉換為9.99

編輯:

var regex = '(?!0)\d+(?:\.\d+)?$';

function getValue()  {
    // passing value 0009.99 and 0009.00 and 100
    return document.getElementById("myinput").value;

}

function test() {
    alert(regex.test(getValue()));
}

function match() {
    alert(getValue().match(regex));    
}

您的第一個和第二個似乎工作正常,第三個可以使用以下正則表達式實現:

/(?!0)\d+\.\d+$/

它首先期待零(跳過它們),然后匹配任意數量的數字,后跟一個點和更多數字。 如果希望數字是可選的,則可以將加號' + '替換為星號' * '。

編輯

如果要允許整數,則可以使用此正則表達式:

/(?!0)\d+(?:\.\d+)?$/

這使得該點之后的點和數字是可選的。

順便說一句:您的jsfiddle並沒有幫助回答。

編輯2

要使用引號創建正則表達式,必須使用以下語法:

var regex = new RegExp('(?!0)\d+(?:\.\d+)?$');

編輯3

我忘了提一下,您需要加倍轉義反斜杠,應該是:

var regex = new RegExp('(?!0)\\d+(?:\\.\\d+)?$');

現在,它應該可以直接在您的代碼中工作。

暫無
暫無

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

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