我想允许用户在文本框中只输入字符和单个空格。我试过的是:正则表达式在asp.net中只允许单个空格的字符?
^[\w\.:\(\)\[\]{}\-_](?: ?[\w\.:\(\)\[\]{}\-_])*$
它阻止所有,但允许数字也。如何使它正确,使它只允许字符和数字,而不是单词之间的单个空格?谢谢。
我想允许用户在文本框中只输入字符和单个空格。我试过的是:正则表达式在asp.net中只允许单个空格的字符?
^[\w\.:\(\)\[\]{}\-_](?: ?[\w\.:\(\)\[\]{}\-_])*$
它阻止所有,但允许数字也。如何使它正确,使它只允许字符和数字,而不是单词之间的单个空格?谢谢。
我会使用:
^[\p{L}.:()[\]{}_-]+(?: [\p{L}.:()[\]{}_-]+)*$
凡\p{L}
代表任何字母。
编辑:
我已经改变了\pL
到\p{L}
,因为它不是由.NET
支持。
感谢Alan Moore。
是([A-Za-z])+([A-Za-z]+)
你在做什么?或者你想要正则表达式只匹配一次?
假设有必须是oneor 2 '单词'(的非空格字符即序列)
"\s*[A-Za-z] +(\s[A-Za-z] +)?\s*"
+1,但.NET不支持“\ pL”等“顶级”Unicode属性的简写形式;你必须使用'\ p {L}'。另外,不要让空间可选;这已经由该组的'*'处理过了。 –
@AlanMoore:谢谢。答案已更正。 – Toto