rah*_*hul 29 javascript regex jquery
我正在寻找一个正则表达式,允许在JavaScript/jQuery中使用字母数字字符, - ,_或空格.我尝试了谷歌搜索,但无法找到.
任何人都可以帮我解决这个问题吗?
提前致谢.
Nev*_*vir 70
字符集在这里有所帮助.您想为要验证的字符创建匹配集:
\w,这与[A-Za-z0-9_]JavaScript中的相同(其他语言可以不同).-和空格,可以组合成匹配的集合,如[\w\- ].但是,您可能需要考虑使用\s而不仅仅是空格字符(\s也匹配制表符和其他形式的空格)
-的\-,这样的正则表达式引擎不会有字符范围像混淆A-Z^$您可能正在寻找的完整正则表达式是:
/^[\w\-\s]+$/
Run Code Online (Sandbox Code Playgroud)
(请注意,该+指示,必须有至少一个字符为它匹配;使用*相反,如果一个零长度的字符串也行)
最后,http://www.regular-expressions.info/是一个很棒的参考
加分点: 此正则表达式与非ASCII alpha 不匹配.不幸的是,大多数浏览器中的正则表达式引擎都不支持命名字符集,但有一些库可以帮助解决这个问题.
对于支持命名字符集的语言/平台,您可以使用 /^[\p{Letter}\d\_\-\s]+$/
elc*_*nrs 45
试试这个正则表达式:
/^[a-z\d\-_\s]+$/i
Run Code Online (Sandbox Code Playgroud)
cba*_*ram 10
/^[-\w\s]+$/
Run Code Online (Sandbox Code Playgroud)
\ w匹配字母,数字和下划线
\ s匹配空格,制表符和换行符
- 匹配连字符(如果你的字符集示例[az]中有连字符,请务必将连字符放在开头,如此[-az])
var string = 'test- _ 0Test';
string.match(/^[-_ a-zA-Z0-9]+$/)
Run Code Online (Sandbox Code Playgroud)