我需要找到一个只允许字母数字的 reg ex。到目前为止,我尝试的每个人都只适用于字符串是字母数字的,意思是同时包含字母和数字。我只想要一个既允许又不需要两者的东西。
原文由 User 发布,翻译遵循 CC BY-SA 4.0 许可协议
我需要找到一个只允许字母数字的 reg ex。到目前为止,我尝试的每个人都只适用于字符串是字母数字的,意思是同时包含字母和数字。我只想要一个既允许又不需要两者的东西。
原文由 User 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果你想返回一个替换的结果,那么这会起作用:
var a = 'Test123*** TEST';
var b = a.replace(/[^a-z0-9]/gi,'');
console.log(b);
这将返回:
Test123TEST
请注意,gi 是必需的,因为它意味着全局(不仅仅是在第一次匹配时),并且不区分大小写,这就是为什么我使用 az 而不是 a-zA-Z。括号内的 ^ 表示“不在这些括号内的任何内容”。
警告:如果这正是您想要的,那么字母数字就很棒。但是,如果您在国际市场上使用它来表示人名或地理区域,那么您需要考虑 unicode 字符,这是行不通的。例如,如果您有一个像“Âlvarö”这样的名字,它将变成“lvar”。
原文由 Volomike 发布,翻译遵循 CC BY-SA 3.0 许可协议
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
更新(支持通用字符)
如果您需要此正则表达式支持通用字符,您可以 在此处找到 unicode 字符列表。
例如:
/^([a-zA-Z0-9\u0600-\u06FF\u0660-\u0669\u06F0-\u06F9 _.-]+)$/
这将支持波斯语。