Javascript 用于允许字母数字、、u和空格的正则表达式
我正在搜索一个正则表达式,以便在JavaScript/jQuery中允许字母数字字符、-、或空格。我试过谷歌搜索,但没能找到 有人能帮我解决这个问题吗 提前谢谢。在这里会有很大帮助。要为要验证的字符创建匹配集:Javascript 用于允许字母数字、、u和空格的正则表达式,javascript,jquery,regex,Javascript,Jquery,Regex,我正在搜索一个正则表达式,以便在JavaScript/jQuery中允许字母数字字符、-、或空格。我试过谷歌搜索,但没能找到 有人能帮我解决这个问题吗 提前谢谢。在这里会有很大帮助。要为要验证的字符创建匹配集: var string = 'test- _ 0Test'; string.match(/^[-_ a-zA-Z0-9]+$/) 您可以将字母数字与\w匹配,这与JavaScript中的[a-Za-z0-9_]相同(其他语言可能不同) 这就剩下了-和空格,它们可以组合成一个匹配集,例如
var string = 'test- _ 0Test';
string.match(/^[-_ a-zA-Z0-9]+$/)
- 您可以将字母数字与
匹配,这与JavaScript中的\w
相同(其他语言可能不同)[a-Za-z0-9_]
- 这就剩下了
和空格,它们可以组合成一个匹配集,例如-
。但是,您可能需要考虑使用<代码> \s>代码>,而不只是空间字符(<代码> 也匹配标签和其他形式的空白)。[\w\-]
- 请注意,我将
转义为-
,这样正则表达式引擎就不会将其与-
a-Z
- 请注意,我将
- 最后,您可能希望通过
和^
确保整个字符串与开始和结束匹配$
/^[\w\-\s]+$/
(请注意,必须至少有一个字符才能匹配;如果零长度字符串也可以,请使用*
)
最后,这是一个很棒的参考
额外积分:此正则表达式与非ASCII字母不匹配。不幸的是,大多数浏览器中的正则表达式引擎不支持命名字符集 对于支持命名字符集的语言/平台,可以使用以下正则表达式:
/^[a-z\d\-_\s]+$/i
\w匹配字母、数字和下划线
\s匹配空格、制表符和换行符
-匹配连字符(如果字符集示例[a-z]中有连字符,请确保将连字符放在开头,如[-a-z])
在regExp
[A-Za-z0-9?空格中,-]
问号“?”后有一个文本空格。这与空间相匹配。其他像/^[-\w\s]+$/
和/^[a-z\d\-\u\s]+$/i
这样的函数对我不起作用。对我来说,我想要一个支持前面所述字符串的正则表达式。基本上,目的是支持一些外国的邮政格式,因为它应该是字母数字格式,并允许有空格
/^([a-z]+[\s]*[0-9]+[\s]*)+$/i
在这里,我在[\s]*
中给出了*in,因为不强制要求有空格。在我的情况下,邮政编码可能包含空格,也可能不包含空格 试试这个正则表达式
*更新的正则表达式
/^[a-z0-9]+([-_\s]{1}[a-z0-9]+)*$/i
这将在文本之间只允许单个空格或-或uu
Ex: this-some abc123_regex
要了解:
*注意:我已经根据Toto问题更新了正则表达式Try
/[a-z\d\-\us]+/I
。但是你可能想学正则表达式。你不可能在网上找到所有这些,特别是如果它不常见的话。是的,我在这方面很弱it@elclanrs不为我工作耶忘了开始和结束字符:/^[a-z\d\-\us]+$/i
。这就是为什么正则表达式是有用的知道。。。我在这里了解到@elclars是的,它正在工作。请将您的解决方案作为答案发布,以便我可以将其标记为已接受。这比我的答案更好,因为[a-z[0-9]\u
与\w
相同。当我们首先提供空间时,这不起作用char@rahul当前位置此选项有效,但请检查Never的答案,因为它也应该有效,并且略短。基本上\w
表示字母+下划线,它只是一种快捷方式,就像\d
表示[0-9]
一样。试试这个正则表达式/^[\w]+([-\s]{1}[a-z0-9]+)*$/i
这将只允许文本之间有一个空格或-或-或-或-在文本之间例如:atoz一些单词_1234
这允许使用需要的基本特殊字符“?”,:。。。。阻止其他人。谢谢为什么要匹配单空格连字符或下划线?这不是它所说的。你的正则表达式我有理由这么做。假设有一个用户名字段,带有@elclanrs regex(第一个答案)。在这种情况下,实时用户只需在其用户名字段中输入--\uuuuu
即可通过验证,这是完全错误的。为了避免这样的情况,我给了regex一些条件。但是你的regex匹配了\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
/^[a-z0-9]+([-_\s]{1}[a-z0-9]+)*$/i
Ex: this-some abc123_regex