用于validation全名的Java Regex仅允许空格和字母
我希望正则表达式只validation字母和空格。 基本上这是validation全名。 例如: 史蒂夫柯林斯先生或史蒂夫柯林斯我试过这个正则表达式。 “[1 – ZA-Z] + \。?” 但没有工作。 有人可以帮助我,请使用Java。
public static boolean validateLetters(String txt) { String regx = "[a-zA-Z]+\\.?"; Pattern pattern = Pattern.compile(regx,Pattern.CASE_INSENSITIVE); Matcher matcher = pattern.matcher(txt); return matcher.find(); }
关于什么:
- 彼得·穆勒
- 弗朗索瓦·奥朗德
- 帕特里克奥布莱恩
- Silvana Koch-Mehrin
validation名称是一个难题,因为有效名称不仅包含字母AZ。
至少你应该对字母使用Unicode属性并添加更多特殊字符。 第一种方法可以是例如:
String regx = "^[\\p{L} .'-]+$";
\\p{L}
是一个Unicode字符属性 ,可以匹配任何语言的任何类型的字母
尝试这个正则表达式(允许字母,点,空格):
"^[A-Za-z\s]{1,}[\.]{0,1}[A-Za-z\s]{0,}$" //regular "^\pL+[\pL\pZ\pP]{0,}$" //unicode
这也将确保DOT永远不会出现在名称的开头。
对于那些使用java / android并努力解决这个问题的人来说:
"^\\p{L}+[\\p{L}\\p{Z}\\p{P}]{0,}"
这适用于像
- JoséBrasão
您甚至可以尝试使用此表达式^[a-zA-Z\\s]*$
来检查仅包含字母和空格的字符串(没有别的)。
对我来说它有效。 希望它也适合你。
或者通过这段代码:
CharSequence inputStr = expression; Pattern pattern = Pattern.compile(new String ("^[a-zA-Z\\s]*$")); Matcher matcher = pattern.matcher(inputStr); if(matcher.matches()) { //if pattern matches } else { //if pattern does not matches }
请试试这个正则表达式(只允许使用字母和空格)
“[a-zA-Z] [a-zA-Z] *”
如果你想要IOS那么,
NSString *yourstring = @"hello"; NSString *Regex = @"[a-zA-Z][a-zA-Z ]*"; NSPredicate *TestResult = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",Regex]; if ([TestResult evaluateWithObject:yourstring] == true) { // validation passed } else { // invalid name }
只接受带空格的角色: –
if (!(Pattern.matches("^[\\p{L} .'-]+$", name.getText()))) { JOptionPane.showMessageDialog(null, "Please enter a valid character", "Error", JOptionPane.ERROR_MESSAGE); name.setFocusable(true); }
仅匹配字母和空格的正则表达式模式:
String regexUserName = "^[A-Za-z\\s]+$";
要仅validation字母和空格,请尝试此操作
String name1_exp = "^[a-zA-Z]+[\-'\s]?[a-zA-Z ]+$";
@amal。 此代码符合您的要求。 只允许中间的字母和空格,没有数字。 文本以任何字母开头,并且只能在其间有空格。 “^”表示行的开头,“$”表示行的结尾。
public static boolean validateLetters(String txt) { String regx = "^[a-zA-Z ]+$"; Pattern pattern = Pattern.compile(regx,Pattern.CASE_INSENSITIVE); Matcher matcher = pattern.matcher(txt); return matcher.find(); }
我个人的选择是: ^\p{L}+[\p{L}\p{Pd}\p{Zs}']*\p{L}+$|^\p{L}+$
,其中:
^\p{L}+
– 它应该以1个或多个字母开头。
[\p{Pd}\p{Zs}'\p{L}]*
– 它可以包含字母,空格字符(包括不可见),短划线或连字符以及’任意顺序0次或更多次。
\p{L}+$
– 它应该以1个或更多字母结束。
|^\p{L}+$
– 或者它只包含1个或多个字母(这样做是为了支持单个字母的名称)。
支持点(句号)被删除,例如英国英语中可以放弃先生或夫人。
validation以下值: “”,“FIR”,“FIR”,“FIR LAST”
/^[Az]*$|^[Az]+\s[Az]*$/
这对我来说有助于validationbootstrap
$(document).ready(function() { $("#fname").keypress(function(e) { var regex = new RegExp("^[a-zA-Z ]+$"); var str = String.fromCharCode(!e.charCode ? e.which : e.charCode); if (regex.test(str)) { return true; }
看一下这个。
String name validation only accept alphabets and spaces public static boolean validateLetters(String txt) { String regx = "^[a-zA-Z\\s]+$"; Pattern pattern = Pattern.compile(regx,Pattern.CASE_INSENSITIVE); Matcher matcher = pattern.matcher(txt); return matcher.find(); }