我需要找到一个只允许字母数字的reg ex。到目前为止,我尝试的每个人都只在字符串是字母数字的情况下工作,意思是既包含字母又包含数字。我只想要一个既允许其中一种,又不要求两者兼得的。


当前回答

扩展字符串原型以便在整个项目中使用

    String.prototype.alphaNumeric = function() {
        return this.replace(/[^a-z0-9]/gi,'');
    }

用法:

    "I don't know what to say?".alphaNumeric();
    //Idontknowwhattosay

其他回答

使用字符类这个词。下面是等价于a ^[a- za - z0 -9_]+$:

^\w+$

解释:

^字符串的开始 \w任意字符(A-Z, A-Z, 0-9, _)。 $ end of string

如果不想匹配下划线,请使用/[^\w]|_/g。

扩展字符串原型以便在整个项目中使用

    String.prototype.alphaNumeric = function() {
        return this.replace(/[^a-z0-9]/gi,'');
    }

用法:

    "I don't know what to say?".alphaNumeric();
    //Idontknowwhattosay

将这些代码输入到您的SCRATCHPAD并查看操作。

var str=String("Blah-Blah1_2,oo0.01&zz%kick").replace(/[^\w-]/ig, '');
^\s*([0-9a-zA-Z]*)\s*$

或者,如果你想要最少一个字符:

^\s*([0-9a-zA-Z]+)\s*$

方括号表示一组字符。^是输入的开始。$是输入的结束符(或换行符,取决于您的选项)。\s是空格。

前面和后面的空格是可选的。

圆括号是分组操作符,允许您提取所需的信息。

编辑:删除了我的错误使用\w字符集。

同样,如果你只是寻找字母字符,你可以使用下面的正则表达式:

/[^a-zA-Z]/gi 

typescript中的示例代码:

let samplestring = "!#!&34!# Alphabet !!535!!! is safe"

let regex = new RegExp(/[^a-zA-Z]/gi);
    let res = samplestring.replace(regex,'');

    console.log(res);

注意:如果您对RegEx语法感到好奇,请访问regexr并使用小抄或使用正则表达式。

编辑:字母数字->字母