嗨,我正在寻找正则表达式来允许在javascript/jquery中使用字母数字, - ,_或空格。我厌倦了谷歌搜索,但没能找到,允许字母数字, - ,_和空格的正则表达式
任何人都可以帮助我与此。
在此先感谢。
嗨,我正在寻找正则表达式来允许在javascript/jquery中使用字母数字, - ,_或空格。我厌倦了谷歌搜索,但没能找到,允许字母数字, - ,_和空格的正则表达式
任何人都可以帮助我与此。
在此先感谢。
试试这个正则表达式:
/^[a-z\d\-_\s]+$/i
@rahul:这个方法可行,但是要检查Nevir的答案,因为它也可以工作,而且有点短。基本上'\ w'表示alpha +下划线,它只是一个类似'\ d'的快捷方式''[0-9]'。 – elclanrs
var string = 'test- _ 0Test';
string.match(/^[-_ a-zA-Z0-9]+$/)
Character sets会在这里帮上忙。你想创建一个匹配的,你要验证的人物设定:
\w
,这是相同的JavaScript [A-Za-z0-9_]
(其它语言可以不同)。-
和空格,它们可以组合成匹配集合,例如[\w\- ]
。但是,您可能只想要空格字符的考虑使用\s
代替(\s
也匹配的标签,及其他形式的空格)
-
为\-
,使得正则表达式引擎不用字符范围混淆像A-Z
^
和$
你可能寻找的全正则表达式是:
/^[\w\-\s]+$/
(注意the +
indicates必须有至少为它匹配一个字符;使用*
代替,如果一个零长度的字符串也行)
最后,http://www.regular-expressions.info/是一个真棒参考
积分:此正则表达式不匹配非ASCII阿尔法。不幸的是,大多数浏览器中的正则表达式引擎不支持命名字符集,but there are some libraries to help with that。
对于语言/平台,做命名的字符集的支持,您可以使用/^[\p{Letter}\d\_\-\s]+$/
这比我的答案更好,因为'[az [0-9] _]/i'与'\ w'相同 – elclanrs
/^[-\w\s]+$/
\ W比赛字母,数字,和下划线
\ S比赛空间,标签和换行符
-的连字符匹配(如果你有连字符的字符集,例如[AZ],一定要放置连字符在像这样[-az]开始)
var regex = new RegExp("^[A-Za-z0-9? ,_-]+$");
var key = String.fromCharCode(event.charCode ? event.which : event.charCode);
if (!regex.test(key)) {
event.preventDefault();
return false;
}
在正规表达式[A-Za-z0-9?spaceHere,_-]
有我这是问号'?'后的字面空格。这匹配空间。其他人喜欢/^[-\w\s]+$/
和/^[a-z\d\-_\s]+$/i
不适合我。
这允许基本需要特殊字符“”,?,:,....并阻止其他人。谢谢 – Rigin
尝试'/ [a-z \ d \ -_ \ s] +/i'。但你可能想要_learn_正则表达式。你不能在网上找到他们,特别是如果它不常见。 – elclanrs
是的,我很虚弱 – rahul
@elclanrs不适合我 – rahul