正则表达式数组允许只键入那些代码

时间:2019-05-30 11:38:02

标签: javascript php jquery regex

我的问题是我只允许使用正则表达式中的代码。因此,您无法输入其他任何内容。

我尝试使用mysql的php foreach循环获取代码和长度。

var regArray = [<?php
    $data = $pdo->query("SELECT PRODUCT_CODE AS code, ENDING AS ec FROM test")->fetchAll(PDO::FETCH_OBJ);

    foreach ($data as $key) {
        $separator = ($key != end($data)) ? ", " : '';
        $std = "\"/^(" . $key->code . ")([a-zA-Z0-9]{" . $key->ec . "})$/\"";
        echo $std.$separator;
    }
?>];

//var regArray = ["/^(AAB)([a-zA-Z0-9]{7})$/", "/^(YYYYYYYYX)([a-zA-Z0-9]{9})$/"];

function onInput() {
    let values = event.target.value
    .split('\n')
    .map(v => {
        v = v.trim().toUpperCase();
        regArray.forEach(function(entry) {
            console.log(entry);
            if (!v.match(entry)) {
                v = v.substr(0, v.length - 1);
            }
        });
        return v;
    }).join('\n');
    event.target.value = values;
    console.log(event.target.value);
}

控制台显示我按下了键,但是在textarea中没有显示值。 我只想允许这些代码在数组中。

0 个答案:

没有答案