我想在Android Java中验证此NIC编号。
NICs=NIC.getText().toString();
if((nameS.equals("")||NICs.equals(""))||!(NICs.matches("/^[0-9]{9}[vVxX]$/")))
{
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
this);
// set title
alertDialogBuilder.setTitle("Warning!");
// set dialog message
alertDialogBuilder
.setMessage("Please fill the above feilds !")
.setCancelable(false)
.setNegativeButton("OK",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id) {
// if this button is clicked, just close
// the dialog box and do nothing
dialog.cancel();
}
});
我的NIC =“ 896201328V”
但是它说NIC与给定的模式不匹配。
最佳答案
从代码中删除refex分隔符/
,因此请使用:
NICs.matches("[0-9]{9}[vVxX]")
代替:
NICs.matches("/^[0-9]{9}[vVxX]$/")
PS:
String#matches
方法中也不需要锚。