簡體   English   中英

javascript中的正則表達式-正則表達式中的變量

[英]regex in javascript - variable inside regex

基本上,如果字段的值是非數字或小於定義的最小長度(來自數組),我想返回錯誤。 我正在努力使此javascript工作:

var fields = new Array("field_1","field_2","field_3");
var length = new Array(12,4,3);
for (i=0; i < fields.length; i++) {
    var regex = "/^[\d]{" + min_length[i] + "}$/";   //
var field = document.getElementById(numeric_fields[i]);
if (!regex.test(field.value)) {
        alert("error");
    }
    else {
        --do other stuff--
    }
}

請參考RegExp類(http://www.regular-expressions.info/javascript.html)

var regex = new RegExp("^\d{1,"+min_length[i] + ",}$"); 

正則表達式在很多事情上都很方便,但是對於簡單的任務來說,它們並不是最有效的方法。 如何確定該字段是否不是數字並且具有一定長度:

var fields = ["field_1", "field_2", "field_3"];
var length = [12, 4, 3];
for (var i = 0, len = fields.length; i < len; i++) {
    var field = document.getElementById(numeric_fields[i]);
    var value = field.value;
    if (isNaN(field.value) || field.value.toString().length < min_length[i]) {
        alert("error");
    } else {
        // do other stuff
    }
}

暫無
暫無

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

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