大家好……
我需要建立一个与车辆登记相关的摆动应用程序,我想在其中输入印度标准的车辆号码,例如:
MP 09 AB 1234
啊 17 英尺 2387
UT 32 DR 6423
DL 01 C AA 1111
更具体地说,
请问有人可以帮助我吗?
DocumentFilter
打字班也可以帮助我.........
基于维基百科规范:
^[A-Z]{2}[ -][0-9]{1,2}(?: [A-Z])?(?: [A-Z]*)? [0-9]{4}$
试试这个
^[A-Z]{2}\s[0-9]{2}\s[A-Z]{2}\s[0-9]{4}$
^
表示字符串的开头 [A-Z]{2}
表示 A 到 Z 范围内的 2 个字符\s
表示空白[0-9]{2}
表示 0 到 9 范围内的 2 个字符\s
表示空白[A-Z]{2}
表示 A 到 Z 范围内的 2 个字符\s
表示空白[0-9]{4}
表示 0 到 9 范围内的 4 个字符$
表示字符串结束根据您在问题中所说的内容,这应该是对正确格式的非常广泛的检查,但我有一种感觉,关于车牌的编号方式有更具体的规定。让我知道正则表达式是否有其他限制。
印度车辆号码如下:
GJ 01 AA 1234 或 KA 08 J 9192 或 (新巴拉特系列) 类似22 BH 1234 AB 或 22 BH 1234 A
您可以使用这 2 个正则表达式进行验证:
1) ^[A-Z]{2}[0-9]{2}[A-HJ-NP-Z]{1,2}[0-9]{4}$
2) ^[0-9]{2}BH[0-9]{4}[A-HJ-NP-Z]{1,2}$
根据 RTO 规则:
在 RTO 系列字母“I”和“O”中,排除 2 以避免与数字 0 或 1 混淆。
如果您正在寻找车牌(VRN),请使用以下正则表达式
^[A-Z|a-z]{2}\s?[0-9]{1,2}\s?[A-Z|a-z]{0,3}\s?[0-9]{4}$
^[A-Z]{2} [0-9]{2} [A-Z]{2} [0-9]{4}$
参见 http://en.wikipedia.org/wiki/Vehicle_registration_plates_of_India
看起来格式比您问题中所述的要复杂一些......
AP-05-BJ-9353
TN-35-AB-638
MH-03-C-3843
表情:
^[A-Z]{2}[-][0-9]{1,2}[-][A-Z]{1,2}[-][0-9]{3,4}$
在此处检查表达式:https://regexr.com/
只需检查一下是否有空格...
function isValidNumber($Number){
$pattern = "^[a-zA-z]{2}\s[0-9]{2}\s[0-9]{4}$";
if (eregi($pattern, $Number)){
return true;
}
else {
return false;
}
}
例如,如果用户已经输入了如下值:
DL
然后文本框除了整数或一个字符之外不接受下一个输入......
DL C
从这里用户只能输入整数值............
所以,简而言之,我想做的就是仅像 Alix 给出的正则表达式那样获取输入
基于维基百科规格
^[A-Z]{2}[ -][0-9]{1,2}(?: [A-Z])?(?: [A-Z]*)? [0-9]{4}$
-(BOOL) validateVehicleRegNumber:(NSString *)strNumber { //示例MH14DA8904
NSString *validReg = @"[A-Z]{2}[0-9]{2}[A-Z]{2}[0-9]{4}";
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", validReg];
return [emailTest evaluateWithObject:strNumber];
}
^[A-Z]{2}\s[0-9]{1,2}\s[A-Z]{1,2}\s[0-9]{1,4}$
上述正则表达式适用于以下类型
DL 01 AA 1111
DL 0 AA 1111
DL 1 A 1111
DL 0 A 11
DL 01 AA 111
//DL 01 C AA 1234
^[A-Z]{2}[ -]{0,1}[0-9]{2}[ -]{0,1}(?:[A-Z])[ -]{0,1}[A-Z]{1,2}[ -]{0,1}[0-9]{1,4}$
//MH 15 AA 1234
^[A-Z]{2}[ -]{0,1}[0-9]{2}[ -]{0,1}[A-Z]{1,2}[ -]{0,1}[0-9]{1,4}$
MVA 1234
^[A-Z]{3}[ -]{0,1}[0-9]{1,4}$
//MH 15 8008
^[A-Z]{2}[ -]{0,1}[0-9]{2}[ -]{0,1}[0-9]{1,4}$
有或没有空格:)
如果您要在子字符串中查找车牌号,请使用以下正则表达式
.*?([A-Za-z]{2})(\d{2})([A-Za-z]{2})(\d{4}).*?
如果您尝试按州 RTO 验证号码和按 Central 验证号码(BH 系列) 试试这个:
public static boolean validateNumberPlate(EditText numberPlate){
final Pattern pattern1 = Pattern.compile("^[A-Z]{2}[\\\\ -]{0,1}[0-9]{2}[\\\\ -]{0,1}[A-HJ-NP-Z]{1,2}[\\\\ -]{0,1}[0-9]{4}$"); // for all states
final Pattern pattern2 = Pattern.compile("^[0-9]{2}[\\\\ -]{0,1}BH[\\\\ -]{0,1}[0-9]{4}[\\\\ -]{0,1}[A-HJ-NP-Z]{1,2}$"); // for BH Series
return (pattern1.matcher(numberPlate.getText().toString().trim()).matches() || pattern2.matcher(numberPlate.getText().toString().trim()).matches());
}
第一个模式适用于州 RTO(例如 RJ 00 XX 0000)。
第二种模式适用于 BH 系列(例如 00 BH 0000 XX)。