我搜索并搜索并尝试了许多不同的方法,但我似乎无法解决这个问题。我正在寻找一种只允许字母数字字符,然后只有一个空格,然后是字母数字字符的方法。我确信这很容易,但我不知道。
我想要的例子:
First Last Allowed First La-st Not Allowed FirstLast Not Allowed First Last Not Allowed First La'st Not allowed
然后我想从字符串中删除无效字符。
如果您需要更多信息,请与我们联系。非常感谢!
答案 0 :(得分:13)
^[a-zA-Z0-9]+ [a-zA-Z0-9]+$
......应该这样做。
答案 1 :(得分:6)
答案 2 :(得分:5)
使用此正则表达式:
^[\p{L}\d]+ [\p{L}\d]+$
答案 3 :(得分:1)
我相信你不想要名字中的数字而且你正在寻找这个正则表达式:
^\p{L}+ \p{L}+$
或
^\p{L}+\s\p{L}+$
\p{L}+
匹配一个或多个“字母”字符,不仅仅是a-z
和A-Z
,还包括其他语言的字符。例如,ÉliseWilson。
如果你真的只想要字母数字字符,输入应该有两个部分,其间有一个空格;必须删除无效字符,然后:
[^\s\dA-Za-z]+
的所有匹配项替换为空字符串^\s*
来修剪前导空格
\s*$
和^[\da-zA-Z]+ [\da-zA-Z]+$
从上面的模式中删除字符串中的数字{/ 1}}。
要在两个空格字符之间留出更长的空格,请在第一个模式中的空格字符后面添加\d
,或在第二个模式中添加+
。
答案 4 :(得分:0)
这应该有用
(?i)\b[a-z\d]+ [a-z\d]+\b
答案 5 :(得分:0)
这将完美适用于字母数字,如果适用,它们之间只有一个空格
@"^[a-zA-Z0-9]+([ ]{0,1}[a-zA-Z0-9]+)*$"
它将允许相似的值
anand
anand dev
anand123
anand123 dev
123anand
123anand dev123
my user name is anand123
anand123 dev **Not allowed due to multiple space**
anand dev **not allowed due to space at begining**
希望这会对你有所帮助。 感谢。