javascript - 正则表达式:必须至少有一个数字和字母,但不能有其他字符/空格

标签 javascript regex

有点卡住了(正则表达式根本不是我的强项!)-我需要一个表达式来验证任何只包含数字和字母的字符串,但必须至少有一个(大写和小写可以互换并且允许)。它不能包含特殊字符或空格。

做一些先前的研究我发现了这一点,但它不排除空格,尽管我尝试这样做,但我无法修改它以排除空格和特殊字符:

^.*(?=.*\d)(?=.*[a-zA-Z]).*$

一些需要验证的字符串示例:

  • ieoEon43
  • 43ifsiojfdfs
  • 6i
  • ijf943kNFSfsf

任何帮助将不胜感激!如果重要的话,我会在 JavaScript 中运行这些表达式。

最佳答案

试试这个:

/^(?=.*[a-z])(?=.*\d)[a-z\d]+$/i

Regex101 Demo

解释:

Regular expression visualization

Debuggex Demo

编辑:修复了特殊字符问题。

关于javascript - 正则表达式:必须至少有一个数字和字母,但不能有其他字符/空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24613851/

相关文章:

javascript - 如何提交表单并将一些额外参数传递给 $.getJSON 回调方法?

java - 如何为 java replaceall 函数编写正则表达式?

python - 根据句子上下文检测单词 you 是主语还是宾语代词。

javascript - 正则表达式从术语列表中提取多词匹配

java - 字符串的正则表达式包含不在特定集合中的字符

javascript - 强制 Canvas 透明

javascript - 如何在 Phonegap 中存储多维数组

javascript - HTML5 全屏 API 和 DIV

javascript - 我是否正确地使用 JavaScript 更改了页面?

java - 获得独特的正则表达式匹配器结果(不使用 map 或列表)