javascript - 允许字母数字、-、_ 和空格的正则表达式

标签 javascript jquery regex

我正在搜索允许在 JavaScript/jQuery 中使用字母数字字符、-、_ 或空格的正则表达式。我尝试使用谷歌搜索,但没能找到。

谁能帮我解决这个问题?

提前致谢。

最佳答案

Character sets会在这里帮上大忙。您要为要验证的字符创建一个匹配集:

  • 您可以将字母数字与 \w 匹配,这与 JavaScript 中的 [A-Za-z0-9_] 相同(其他语言可能不同)。
  • 剩下 - 和空格,它们可以组合成一个匹配集,例如 [\w\- ]。但是,您可能需要考虑使用 \s 而不仅仅是空格字符(\s 也匹配制表符和其他形式的空格)
    • 请注意,我将 - 转义为 \-,这样正则表达式引擎就不会将它与 A-Z< 这样的字符范围混淆
  • 最后,您可能希望确保整个字符串匹配 by anchoring通过 ^$
  • 开始和结束

您可能正在寻找的完整正则表达式是:

/^[\w\-\s]+$/

(请注意 the + indicates 必须至少一个字符才能匹配;如果零长度字符串也可以,请改用 * )

最后,http://www.regular-expressions.info/是一个很棒的引用


奖励积分:此正则表达式匹配非 ASCII alpha。不幸的是,大多数浏览器中的正则表达式引擎不支持命名字符集,but there are some libraries to help with that .

对于支持命名字符集的语言/平台,您可以使用 /^[\p{Letter}\d\_\-\s]+$/

关于javascript - 允许字母数字、-、_ 和空格的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13283470/

相关文章:

javascript - app.use() 需要中间件函数

javascript - 如果绑定(bind)是由 jquery 设置的,则两种方式绑定(bind)不起作用

java - 使用正则表达式在 Java 中拆分字符串数组

javascript - 使用 XMLHttpRequest() 和 codeigniter 上传 AJAX 文件会出现错误 - "You did not select a file to upload."

javascript - 如何将页面中的图像保存到文件夹

java - 通过正则表达式或 xpath 提取器中的文本查找选项值

python - 在python中使用模式匹配,从.lua文件中提取表

javascript - 创建一个有全局二级索引错误的表

javascript - Firefox 5 非事件选项卡 jQuery 动画问题

javascript - 如何删除JS中的属性并映射新对象?