gpt4 book ai didi

javascript - 在 JavaScript 中使用正则表达式检查允许的字符

转载 作者:行者123 更新时间:2023-11-28 15:09:10 24 4
gpt4 key购买 nike

我有一张 map ,其中包含允许输入的字符。

var charMap = {
"32": " ", "33": "!", "34": "\"", "35": "#",
"36": "$", "37": "%", "38": "&", "39": "'", "40": "(",
"41": ")", "42": "*", "43": "+", "44": ",", "45": "-",
"46": ".", "47": "/", "48": "0", "49": "1", "50": "2",
"51": "3", "52": "4", "53": "5", "54": "6", "55": "7",
"56": "8", "57": "9", "58": ":", "59": ";", "60": "<",
"61": "=", "62": ">", "63": "?", "64": "@", "65": "A",
"66": "B", "67": "C", "68": "D", "69": "E", "70": "F",
"71": "G", "72": "H", "73": "I", "74": "J", "75": "K",
"76": "L", "77": "M", "78": "N", "79": "O", "80": "P",
"81": "Q", "82": "R", "83": "S", "84": "T", "85": "U",
"86": "V", "87": "W", "88": "X", "89": "Y", "90": "Z",
"91": "Ä", "92": "Ö", "93": "Å", "94": "É", "95": "_",
"96": "é", "97": "a", "98": "b", "99": "c", "100": "d",
"101": "e", "102": "f", "103": "g", "104": "h", "105": "i",
"106": "j", "107": "k", "108": "l", "109": "m", "110": "n",
"111": "o", "112": "p", "113": "q", "114": "r", "115": "s",
"116": "t", "117": "u", "118": "v", "119": "w", "120": "x",
"121": "y", "122": "z", "123": "ä", "124": "ö", "125": "å",
"126": "€", "127": "£"
};

这里是字符串形式的所有字符:!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÅÉ_éabcdefghijklmnopqrstuvwxyzäö倣 和一个空格。

我正在尝试编写一个 reg exp 测试,但我的代码对于任何输入总是返回 false (我猜我搞砸了一些转义字符。这是我的代码:

var checkAllCharachters = function (str) {
var allowedCharacters = new RegExp(/^[!"#$%&'\(\)\*+,\-.\/\d:;<=>?@\\sA-ZÄÖÅÉ_éa-zäö倣\\n]*$/);

if(allowedCharacters.test(str)){
console.log("contained characters thats not allowed");
}
}

A small JS fiddle 不适用于空格。知道我做错了什么吗?

最佳答案

您需要使用 [] 创建一个字符集或类(不要忘记转义连字符),并用 ^< 包围它$ 表示整个字符串。您也不需要调用 RegExp 构造函数,因为您有一个文字。并且您还需要说 0 个或更多或 1 个或更多。

var checkAllCharachters = function (str) {
var allowedCharacters = /^[!"#$%&'\(\)\*+,\-.\/\d:;<=>?@A-ZÄÖÅÉ_éa-zäö倣 ]*$/g;
if(allowedCharacters.test(str)){
console.log("contained characters thats not allowed");
}
}

关于javascript - 在 JavaScript 中使用正则表达式检查允许的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37388139/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com