Commit c8653d5d authored by Sandy's avatar Sandy

添加银行卡界面 修复部分bug

parent 3b55e678
......@@ -79,6 +79,16 @@
1940D3281C9A58150080678C /* BaseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1940D3271C9A58150080678C /* BaseViewController.m */; };
1946DC9A1CB7542D00AC6557 /* CatgoryModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 1946DC991CB7542D00AC6557 /* CatgoryModel.m */; };
194CB5391CD8AA4A0050E59F /* JavenQNManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 194CB5381CD8AA4A0050E59F /* JavenQNManager.m */; };
19563C471CDAE60B00AFD0E0 /* MyBandCardViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 19563C461CDAE60B00AFD0E0 /* MyBandCardViewController.m */; };
19563C4A1CDAEA3800AFD0E0 /* MyBandBottomView.m in Sources */ = {isa = PBXBuildFile; fileRef = 19563C491CDAEA3800AFD0E0 /* MyBandBottomView.m */; };
19563C4C1CDAEA4500AFD0E0 /* MyBandBottomView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 19563C4B1CDAEA4500AFD0E0 /* MyBandBottomView.xib */; };
19563C8E1CDB203500AFD0E0 /* MyBankClass.m in Sources */ = {isa = PBXBuildFile; fileRef = 19563C8D1CDB203500AFD0E0 /* MyBankClass.m */; };
19563C971CDB22AD00AFD0E0 /* AddBankCardIDViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 19563C951CDB22AD00AFD0E0 /* AddBankCardIDViewController.m */; };
19563C981CDB22AD00AFD0E0 /* AddBankCardIDViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 19563C961CDB22AD00AFD0E0 /* AddBankCardIDViewController.xib */; };
19563C9C1CDB345400AFD0E0 /* AddDetailInfoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 19563C9A1CDB345300AFD0E0 /* AddDetailInfoViewController.m */; };
19563C9D1CDB345400AFD0E0 /* AddDetailInfoViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 19563C9B1CDB345300AFD0E0 /* AddDetailInfoViewController.xib */; };
19563CA11CDC2E0E00AFD0E0 /* BankTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 19563C9F1CDC2E0E00AFD0E0 /* BankTableViewCell.m */; };
19563CA21CDC2E0E00AFD0E0 /* BankTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 19563CA01CDC2E0E00AFD0E0 /* BankTableViewCell.xib */; };
195EB1DB1CA516CE00E298BB /* HotCommodityCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 195EB1D91CA516CE00E298BB /* HotCommodityCell.m */; };
195EB1DC1CA516CE00E298BB /* HotCommodityCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 195EB1DA1CA516CE00E298BB /* HotCommodityCell.xib */; };
195EB1E01CA5292600E298BB /* AddCommodityFooterCollectionReusableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 195EB1DE1CA5292600E298BB /* AddCommodityFooterCollectionReusableView.m */; };
......@@ -407,6 +417,22 @@
1946DC991CB7542D00AC6557 /* CatgoryModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CatgoryModel.m; sourceTree = "<group>"; };
194CB5371CD8AA4A0050E59F /* JavenQNManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JavenQNManager.h; sourceTree = "<group>"; };
194CB5381CD8AA4A0050E59F /* JavenQNManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JavenQNManager.m; sourceTree = "<group>"; };
19563C451CDAE60B00AFD0E0 /* MyBandCardViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MyBandCardViewController.h; sourceTree = "<group>"; };
19563C461CDAE60B00AFD0E0 /* MyBandCardViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MyBandCardViewController.m; sourceTree = "<group>"; };
19563C481CDAEA3800AFD0E0 /* MyBandBottomView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MyBandBottomView.h; sourceTree = "<group>"; };
19563C491CDAEA3800AFD0E0 /* MyBandBottomView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MyBandBottomView.m; sourceTree = "<group>"; };
19563C4B1CDAEA4500AFD0E0 /* MyBandBottomView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MyBandBottomView.xib; sourceTree = "<group>"; };
19563C8C1CDB203500AFD0E0 /* MyBankClass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MyBankClass.h; sourceTree = "<group>"; };
19563C8D1CDB203500AFD0E0 /* MyBankClass.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MyBankClass.m; sourceTree = "<group>"; };
19563C941CDB22AD00AFD0E0 /* AddBankCardIDViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AddBankCardIDViewController.h; sourceTree = "<group>"; };
19563C951CDB22AD00AFD0E0 /* AddBankCardIDViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AddBankCardIDViewController.m; sourceTree = "<group>"; };
19563C961CDB22AD00AFD0E0 /* AddBankCardIDViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = AddBankCardIDViewController.xib; sourceTree = "<group>"; };
19563C991CDB345300AFD0E0 /* AddDetailInfoViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AddDetailInfoViewController.h; sourceTree = "<group>"; };
19563C9A1CDB345300AFD0E0 /* AddDetailInfoViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AddDetailInfoViewController.m; sourceTree = "<group>"; };
19563C9B1CDB345300AFD0E0 /* AddDetailInfoViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = AddDetailInfoViewController.xib; sourceTree = "<group>"; };
19563C9E1CDC2E0E00AFD0E0 /* BankTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BankTableViewCell.h; sourceTree = "<group>"; };
19563C9F1CDC2E0E00AFD0E0 /* BankTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BankTableViewCell.m; sourceTree = "<group>"; };
19563CA01CDC2E0E00AFD0E0 /* BankTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = BankTableViewCell.xib; sourceTree = "<group>"; };
195EB1D81CA516CE00E298BB /* HotCommodityCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HotCommodityCell.h; sourceTree = "<group>"; };
195EB1D91CA516CE00E298BB /* HotCommodityCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HotCommodityCell.m; sourceTree = "<group>"; };
195EB1DA1CA516CE00E298BB /* HotCommodityCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = HotCommodityCell.xib; sourceTree = "<group>"; };
......@@ -1090,6 +1116,41 @@
path = Application;
sourceTree = "<group>";
};
19563C421CDAE5D900AFD0E0 /* MyBandCard */ = {
isa = PBXGroup;
children = (
19563C451CDAE60B00AFD0E0 /* MyBandCardViewController.h */,
19563C461CDAE60B00AFD0E0 /* MyBandCardViewController.m */,
19563C941CDB22AD00AFD0E0 /* AddBankCardIDViewController.h */,
19563C951CDB22AD00AFD0E0 /* AddBankCardIDViewController.m */,
19563C961CDB22AD00AFD0E0 /* AddBankCardIDViewController.xib */,
19563C991CDB345300AFD0E0 /* AddDetailInfoViewController.h */,
19563C9A1CDB345300AFD0E0 /* AddDetailInfoViewController.m */,
19563C9B1CDB345300AFD0E0 /* AddDetailInfoViewController.xib */,
);
path = MyBandCard;
sourceTree = "<group>";
};
19563C431CDAE5EA00AFD0E0 /* MyBandCard */ = {
isa = PBXGroup;
children = (
19563C481CDAEA3800AFD0E0 /* MyBandBottomView.h */,
19563C491CDAEA3800AFD0E0 /* MyBandBottomView.m */,
19563C4B1CDAEA4500AFD0E0 /* MyBandBottomView.xib */,
19563C9E1CDC2E0E00AFD0E0 /* BankTableViewCell.h */,
19563C9F1CDC2E0E00AFD0E0 /* BankTableViewCell.m */,
19563CA01CDC2E0E00AFD0E0 /* BankTableViewCell.xib */,
);
path = MyBandCard;
sourceTree = "<group>";
};
19563C441CDAE5F400AFD0E0 /* MyBandCard */ = {
isa = PBXGroup;
children = (
);
path = MyBandCard;
sourceTree = "<group>";
};
1979752B1CA90D3900407E3F /* CommodityManagement */ = {
isa = PBXGroup;
children = (
......@@ -1205,6 +1266,7 @@
199BC7981C9AA70C00E4E0B8 /* Model */ = {
isa = PBXGroup;
children = (
19563C441CDAE5F400AFD0E0 /* MyBandCard */,
);
path = Model;
sourceTree = "<group>";
......@@ -1212,6 +1274,7 @@
199BC7991C9AA70C00E4E0B8 /* View */ = {
isa = PBXGroup;
children = (
19563C431CDAE5EA00AFD0E0 /* MyBandCard */,
);
path = View;
sourceTree = "<group>";
......@@ -1219,6 +1282,7 @@
199BC79A1C9AA70C00E4E0B8 /* ViewController */ = {
isa = PBXGroup;
children = (
19563C421CDAE5D900AFD0E0 /* MyBandCard */,
19D906A91CC7898C00CD42DC /* MineViewController.h */,
19D906AA1CC7898C00CD42DC /* MineViewController.m */,
19D906AB1CC7898C00CD42DC /* MineViewController.xib */,
......@@ -1702,6 +1766,8 @@
1979754C1CAB6E1300407E3F /* JavenMultipleViewWithHeader.m */,
199BC7CE1C9BAC9600E4E0B8 /* MyTools.h */,
199BC7CF1C9BAC9600E4E0B8 /* MyTools.m */,
19563C8C1CDB203500AFD0E0 /* MyBankClass.h */,
19563C8D1CDB203500AFD0E0 /* MyBankClass.m */,
19DCCB7F1C9AA0450072C3BF /* Categories */,
19DCCBA61C9AA0450072C3BF /* CustomCells */,
19DCCBA91C9AA0450072C3BF /* GXFBottomView.h */,
......@@ -1980,6 +2046,7 @@
19632DA51CB350F80024A8A1 /* StoreQRCodeViewController.xib in Resources */,
199B4D871CAE43F800451E0E /* OrderDetailTableViewCell.xib in Resources */,
19ADD3871CA4E21100EE6E5A /* AddCommodityHeaderView.xib in Resources */,
19563C4C1CDAEA4500AFD0E0 /* MyBandBottomView.xib in Resources */,
199BC7CD1C9BA5BA00E4E0B8 /* NextResetPasswordViewController.xib in Resources */,
1929F1861CA0EA74000E9B26 /* MoneyView.xib in Resources */,
1913833D1CAB9DC2005F6440 /* OrderCellView.xib in Resources */,
......@@ -1995,6 +2062,7 @@
19D906AD1CC7898C00CD42DC /* MineViewController.xib in Resources */,
197975241CA8FAAE00407E3F /* CommodityDetailTopView.xib in Resources */,
19D906BC1CC87F3B00CD42DC /* OrderExpressTableViewCell.xib in Resources */,
19563C981CDB22AD00AFD0E0 /* AddBankCardIDViewController.xib in Resources */,
19ADD3851CA4D3C400EE6E5A /* AddCommodityCollectionViewCell.xib in Resources */,
199BC7BF1C9B045B00E4E0B8 /* RigistViewController.xib in Resources */,
19D906B71CC86DA300CD42DC /* SettingViewController.xib in Resources */,
......@@ -2018,7 +2086,9 @@
19ADD37F1CA4D38B00EE6E5A /* CommodityListCollectionViewCell.xib in Resources */,
1979753F1CAA15C700407E3F /* CommodityTableViewCell.xib in Resources */,
1929009B1CD2129B00D226E7 /* MyAcountViewController.xib in Resources */,
19563CA21CDC2E0E00AFD0E0 /* BankTableViewCell.xib in Resources */,
192940201CC8DA5B00E377EE /* InvitePartnerViewController.xib in Resources */,
19563C9D1CDB345400AFD0E0 /* AddDetailInfoViewController.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
......@@ -2171,6 +2241,7 @@
1900A3411CB6059000B2B7C4 /* introductionViewController.m in Sources */,
19D906C61CC8A21700CD42DC /* OrderDetailBottomView.m in Sources */,
19ADD3771CA4D19F00EE6E5A /* AddCommodityViewController.m in Sources */,
19563C8E1CDB203500AFD0E0 /* MyBankClass.m in Sources */,
197BA66D1CD85122000E2087 /* JavenCertificate.m in Sources */,
199B4D6D1CABBF0800451E0E /* OrderDetailTopView.m in Sources */,
19DCCBC71C9AA0450072C3BF /* NSDate+FormatterAdditions.m in Sources */,
......@@ -2189,6 +2260,7 @@
191AEE5F1CBCC6D100F5E535 /* Defintion.m in Sources */,
199BC7CC1C9BA5BA00E4E0B8 /* NextResetPasswordViewController.m in Sources */,
19DCCB591C9A9EB30072C3BF /* IBTAudioController.m in Sources */,
19563C9C1CDB345400AFD0E0 /* AddDetailInfoViewController.m in Sources */,
191AEE641CBCC6D100F5E535 /* Parameters.m in Sources */,
199BC7B61C9AD52200E4E0B8 /* ToLoginViewController.m in Sources */,
19DCCBCC1C9AA0450072C3BF /* UIColor+Helper.m in Sources */,
......@@ -2200,6 +2272,7 @@
191AEE121CBB818600F5E535 /* UserInfoLastModifyInfo.m in Sources */,
194CB5391CD8AA4A0050E59F /* JavenQNManager.m in Sources */,
191AEE5E1CBCC6D100F5E535 /* Conditions.m in Sources */,
19563C4A1CDAEA3800AFD0E0 /* MyBandBottomView.m in Sources */,
1979753A1CA9260C00407E3F /* CommodityManagementSortView.m in Sources */,
19DCCB701C9A9EB30072C3BF /* IBTUIControl.m in Sources */,
199B4D8C1CAE688400451E0E /* SeeLogistics.m in Sources */,
......@@ -2247,6 +2320,7 @@
191AEE151CBB818600F5E535 /* UserInfoPasswordControl.m in Sources */,
19DCCBD61C9AA0450072C3BF /* UIView+FindUIViewController.m in Sources */,
197BA6821CD851DB000E2087 /* JavenDetailReseller.m in Sources */,
19563CA11CDC2E0E00AFD0E0 /* BankTableViewCell.m in Sources */,
199BC7A11C9AA7DF00E4E0B8 /* HomeViewController.m in Sources */,
19632DA41CB350F80024A8A1 /* StoreQRCodeViewController.m in Sources */,
197BA6891CD865D1000E2087 /* JavencommissionAccountModel.m in Sources */,
......@@ -2254,6 +2328,7 @@
1912FCFB1CD08166004CF976 /* CommotityListBrand.m in Sources */,
19DCCBF01C9AA1D50072C3BF /* GTOCommonTools.m in Sources */,
19DCCBF11C9AA1D50072C3BF /* ICRUserUtil.m in Sources */,
19563C971CDB22AD00AFD0E0 /* AddBankCardIDViewController.m in Sources */,
19DCCB6C1C9A9EB30072C3BF /* IBTTabBarController.m in Sources */,
197BA6701CD8515D000E2087 /* JavenCreateInfo.m in Sources */,
19632DB11CB39B190024A8A1 /* SelectPhotoView.m in Sources */,
......@@ -2284,6 +2359,7 @@
19DCCB781C9A9EB30072C3BF /* IBTWebProgressBar.m in Sources */,
19DCCBFE1C9AA2A90072C3BF /* ICRDataBaseController.m in Sources */,
191AEE5D1CBCC6D100F5E535 /* CommotityRequestModel.m in Sources */,
19563C471CDAE60B00AFD0E0 /* MyBandCardViewController.m in Sources */,
19ADD36E1CA3B88A00EE6E5A /* CommodityListViewController.m in Sources */,
19DCCBD41C9AA0450072C3BF /* UITabBarItem+Universal.m in Sources */,
19DCCBE51C9AA0450072C3BF /* ICRFunctionItemControl.m in Sources */,
......
{
"info" : {
"version" : 1,
"author" : "xcode"
}
}
\ No newline at end of file
{
"images" : [
{
"idiom" : "universal",
"filename" : "btn_background_gray.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "btn_background_gray@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
\ No newline at end of file
{
"images" : [
{
"idiom" : "universal",
"filename" : "mine_addBankCard_agree.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "mine_addBankCard_agree@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
\ No newline at end of file
{
"images" : [
{
"idiom" : "universal",
"filename" : "mine_addBankCard_disagree.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "mine_addBankCard_disagree@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
\ No newline at end of file
{
"images" : [
{
"idiom" : "universal",
"filename" : "mine_add_icon.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "mine_add_icon@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
\ No newline at end of file
{
"images" : [
{
"idiom" : "universal",
"filename" : "mine_addbankbtn_icon.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "mine_addbankbtn_icon@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
\ No newline at end of file
{
"images" : [
{
"idiom" : "universal",
"filename" : "8.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "8@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
\ No newline at end of file
{
"images" : [
{
"idiom" : "universal",
"filename" : "launch.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
\ No newline at end of file
......@@ -14,14 +14,29 @@
<viewControllerLayoutGuide type="bottom" id="xb3-aO-Qok"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleAspectFit" image="launch" translatesAutoresizingMaskIntoConstraints="NO" id="SGe-eP-jF9">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
</imageView>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="SGe-eP-jF9" firstAttribute="leading" secondItem="Ze5-6b-2t3" secondAttribute="leading" id="CKG-hB-k8p"/>
<constraint firstItem="SGe-eP-jF9" firstAttribute="top" secondItem="Ze5-6b-2t3" secondAttribute="top" id="F6b-Xb-Gyg"/>
<constraint firstAttribute="trailing" secondItem="SGe-eP-jF9" secondAttribute="trailing" id="T2E-Yc-l4Q"/>
<constraint firstAttribute="bottom" secondItem="SGe-eP-jF9" secondAttribute="bottom" id="cGD-ya-Ccz"/>
</constraints>
</view>
<simulatedScreenMetrics key="simulatedDestinationMetrics" type="retina47"/>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="53" y="375"/>
<point key="canvasLocation" x="144" y="331"/>
</scene>
</scenes>
<resources>
<image name="launch" width="800" height="1422"/>
</resources>
</document>
......@@ -11,7 +11,7 @@
<rect key="frame" x="0.0" y="0.0" width="320" height="95"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" misplaced="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="kJF-jD-kCU">
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="kJF-jD-kCU">
<rect key="frame" x="8" y="0.0" width="67" height="95"/>
<constraints>
<constraint firstAttribute="height" constant="35" id="T70-gy-1Ql"/>
......@@ -28,14 +28,14 @@
</mask>
</variation>
</button>
<button opaque="NO" contentMode="scaleToFill" misplaced="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="k9d-7S-PR5">
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="k9d-7S-PR5">
<rect key="frame" x="173" y="26" width="66" height="44"/>
<fontDescription key="fontDescription" type="system" pointSize="21"/>
<state key="normal" title="下架" backgroundImage="greenbtn_bg">
<color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</state>
</button>
<button opaque="NO" contentMode="scaleToFill" misplaced="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="QZW-mi-oUQ">
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="QZW-mi-oUQ">
<rect key="frame" x="100" y="26" width="65" height="44"/>
<constraints>
<constraint firstAttribute="height" constant="44" id="aLI-tT-ELQ"/>
......@@ -45,7 +45,7 @@
<color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</state>
</button>
<button opaque="NO" contentMode="scaleToFill" horizontalCompressionResistancePriority="749" misplaced="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="5Md-Ga-YFh">
<button opaque="NO" contentMode="scaleToFill" horizontalCompressionResistancePriority="749" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="5Md-Ga-YFh">
<rect key="frame" x="247" y="26" width="65" height="44"/>
<fontDescription key="fontDescription" type="system" pointSize="21"/>
<state key="normal" title="上架" backgroundImage="greenbtn_bg">
......@@ -85,7 +85,7 @@
<constraint firstItem="k9d-7S-PR5" firstAttribute="leading" secondItem="QZW-mi-oUQ" secondAttribute="trailing" constant="8" id="eH8-j0-MBp"/>
<constraint firstItem="5Xc-z0-rJW" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" id="eqE-Zq-iUH"/>
<constraint firstItem="5Md-Ga-YFh" firstAttribute="leading" secondItem="k9d-7S-PR5" secondAttribute="trailing" constant="8" id="f9T-ZB-P7c"/>
<constraint firstItem="k9d-7S-PR5" firstAttribute="width" secondItem="QZW-mi-oUQ" secondAttribute="width" id="g0e-4F-4mc"/>
<constraint firstItem="k9d-7S-PR5" firstAttribute="width" secondItem="QZW-mi-oUQ" secondAttribute="width" constant="1" id="g0e-4F-4mc"/>
<constraint firstItem="QZW-mi-oUQ" firstAttribute="leading" secondItem="kJF-jD-kCU" secondAttribute="trailing" constant="25" id="ggz-mv-b1G"/>
<constraint firstItem="QZW-mi-oUQ" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="centerY" id="jEh-5Q-p1T"/>
<constraint firstAttribute="bottom" secondItem="kJF-jD-kCU" secondAttribute="bottom" id="jZR-n2-GDK"/>
......
......@@ -28,13 +28,13 @@
self.labelTitle.text = model.name;
self.labelPrice.text = [NSString stringWithFormat:@"¥%.0f",model.price];
self.labelBrokerageRate.text = [NSString stringWithFormat:@"%.2f",model.commission];
self.labelSaleNumber.text = [NSString stringWithFormat:@"销量:%.0f",model.salesVolume];
self.labelSaleNumber.text = [NSString stringWithFormat:@"销量:%.0f",model.salesVolume];
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated];
// Configure the view for the selected state
}
......
......@@ -114,6 +114,7 @@
[self.navigationController setNavigationBarHidden:YES];
}
#pragma mark =========== webView delegate ===========
- (void)webViewDidStartLoad:(UIWebView *)webView {
[MBProgressHUD showHUDAddedTo:webView animated:YES];
......@@ -128,7 +129,6 @@
- (CommodityDetailBottomView *)bottomView {
if (!_bottomView) {
_bottomView = [CommodityDetailBottomView viewWithNibName:@"CommodityDetailBottomView"];
_bottomView.frame = CGRectMake(0, kHeight - 67, kWidth, 67);
}
......
......@@ -150,13 +150,13 @@
break;
case 3://佣金
{
self.field = @"brokerageRate";
self.field = @"commission";
self.direction = @"desc";
}
break;
case 4:
{
self.field = @"brokerageRate";
self.field = @"commission";
self.direction = @"asc";
}
break;
......
......@@ -295,6 +295,7 @@
}
#pragma mark =========== tableview delegate ===========
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
......
......@@ -95,7 +95,7 @@
- (IBAction)loginACtion:(UIButton *)sender {
ToLoginViewController *toLoginVC = [[ToLoginViewController alloc] initWithNibName:@"ToLoginViewController" bundle:[NSBundle mainBundle]];
toLoginVC.isShowNavigationBar = YES;
[self.navigationController pushViewController:toLoginVC animated:YES];
}
......
......@@ -69,13 +69,14 @@
- (IBAction)forgetPasswordAction:(UIButton *)sender {
ResetPasswordViewController *resetVC = [[ResetPasswordViewController alloc] initWithNibName:@"ResetPasswordViewController" bundle:[NSBundle mainBundle]];
resetVC.isShowNavigationBar = YES;
[self.navigationController pushViewController:resetVC animated:YES];
}
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[self.navigationController setNavigationBarHidden:NO];
}
//- (void)viewWillAppear:(BOOL)animated {
// [super viewWillAppear:animated];
// [self.navigationController setNavigationBarHidden:NO];
//}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
......
//
// BankTableViewCell.h
// ALand
//
// Created by Z on 16/5/6.
// Copyright © 2016年 Z. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface BankTableViewCell : UITableViewCell
@end
//
// BankTableViewCell.m
// ALand
//
// Created by Z on 16/5/6.
// Copyright © 2016年 Z. All rights reserved.
//
#import "BankTableViewCell.h"
@interface BankTableViewCell ()
@property (weak, nonatomic) IBOutlet UIImageView *imgViewBackground;
@end
@implementation BankTableViewCell
- (void)awakeFromNib {
// Initialization code
self.imgViewBackground.layer.masksToBounds = YES;
self.imgViewBackground.layer.cornerRadius = 5;
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated];
// Configure the view for the selected state
}
@end
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="9532" systemVersion="15D21" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES">
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9530"/>
<capability name="Constraints to layout margins" minToolsVersion="6.0"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="122" id="KGk-i7-Jjw" customClass="BankTableViewCell">
<rect key="frame" x="0.0" y="0.0" width="320" height="130"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
<rect key="frame" x="0.0" y="0.0" width="320" height="129"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="CD7-rL-3Ij">
<rect key="frame" x="10" y="0.0" width="300" height="119"/>
<color key="backgroundColor" red="0.95294117649999999" green="0.43921568630000002" blue="0.062745098040000002" alpha="1" colorSpace="calibratedRGB"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="交通银行" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1bl-Gu-RDW">
<rect key="frame" x="90" y="22" width="76" height="23"/>
<fontDescription key="fontDescription" type="system" pointSize="19"/>
<color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<nil key="highlightedColor"/>
</label>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="1yn-S5-BNS">
<rect key="frame" x="26" y="16" width="50" height="50"/>
<color key="backgroundColor" red="0.34509803919999998" green="0.75686274509999996" blue="0.050980392159999999" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="width" constant="50" id="CDG-vF-fAK"/>
<constraint firstAttribute="height" constant="50" id="NZD-As-l8U"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="储蓄卡" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="xJ7-8i-4f5">
<rect key="frame" x="90" y="54" width="45" height="18"/>
<fontDescription key="fontDescription" type="system" pointSize="15"/>
<color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<nil key="highlightedColor"/>
</label>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="NbZ-Ig-8d1" userLabel="water">
<rect key="frame" x="210" y="19" width="100" height="100"/>
<constraints>
<constraint firstAttribute="height" constant="100" id="16g-H9-LdN"/>
<constraint firstAttribute="width" constant="100" id="39F-Si-EpJ"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="**** **** **** 7637" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="jAQ-ZS-i4d">
<rect key="frame" x="138" y="79" width="153" height="21"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" red="0.94901960780000005" green="0.94901960780000005" blue="0.94901960780000005" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="bottom" secondItem="CD7-rL-3Ij" secondAttribute="bottom" constant="10" id="5TY-VF-g1q"/>
<constraint firstItem="CD7-rL-3Ij" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" id="5Z7-BA-HBz"/>
<constraint firstItem="1yn-S5-BNS" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leadingMargin" constant="18" id="79y-EN-Y0w"/>
<constraint firstItem="1bl-Gu-RDW" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="topMargin" constant="14" id="GEt-cK-NZ9"/>
<constraint firstItem="CD7-rL-3Ij" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="10" id="LYY-Sh-0po"/>
<constraint firstAttribute="trailingMargin" secondItem="jAQ-ZS-i4d" secondAttribute="trailing" constant="21" id="MOl-v7-B0U"/>
<constraint firstAttribute="bottomMargin" secondItem="jAQ-ZS-i4d" secondAttribute="bottom" constant="21" id="OLk-cG-Lgx"/>
<constraint firstItem="xJ7-8i-4f5" firstAttribute="leading" secondItem="1bl-Gu-RDW" secondAttribute="leading" id="R08-AC-O2r"/>
<constraint firstItem="1bl-Gu-RDW" firstAttribute="leading" secondItem="1yn-S5-BNS" secondAttribute="trailing" constant="14" id="RKY-xb-bsr"/>
<constraint firstAttribute="trailing" secondItem="CD7-rL-3Ij" secondAttribute="trailing" constant="10" id="Vg6-Vz-0nX"/>
<constraint firstAttribute="bottomMargin" secondItem="NbZ-Ig-8d1" secondAttribute="bottom" constant="2" id="kv6-Il-5F2"/>
<constraint firstItem="1yn-S5-BNS" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="topMargin" constant="8" id="pMO-gt-dL9"/>
<constraint firstItem="xJ7-8i-4f5" firstAttribute="top" secondItem="1bl-Gu-RDW" secondAttribute="bottom" constant="9" id="uJ0-dS-Qgw"/>
<constraint firstAttribute="trailingMargin" secondItem="NbZ-Ig-8d1" secondAttribute="trailing" constant="2" id="wl9-9u-Rsd"/>
</constraints>
</tableViewCellContentView>
<connections>
<outlet property="imgViewBackground" destination="CD7-rL-3Ij" id="H9j-dt-pFj"/>
</connections>
<point key="canvasLocation" x="385" y="387"/>
</tableViewCell>
</objects>
</document>
//
// MyBandBottomView.h
// ALand
//
// Created by Z on 16/5/5.
// Copyright © 2016年 Z. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface MyBandBottomView : UIView
@property (weak, nonatomic) IBOutlet UIButton *btnAdd;
@end
//
// MyBandBottomView.m
// ALand
//
// Created by Z on 16/5/5.
// Copyright © 2016年 Z. All rights reserved.
//
#import "MyBandBottomView.h"
@implementation MyBandBottomView
- (void)awakeFromNib {
self.btnAdd.imageView.contentMode = UIViewContentModeScaleAspectFit;
}
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {
// Drawing code
}
*/
@end
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="9532" systemVersion="15D21" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES">
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9530"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="MyBandBottomView"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<view contentMode="scaleToFill" id="iN0-l3-epB" customClass="MyBandBottomView">
<rect key="frame" x="0.0" y="0.0" width="320" height="60"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<button opaque="NO" contentMode="scaleAspectFit" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="XEH-EO-w12">
<rect key="frame" x="95" y="5" width="130" height="50"/>
<constraints>
<constraint firstAttribute="width" constant="130" id="CeF-dx-cXo"/>
<constraint firstAttribute="height" constant="50" id="aKL-jJ-JbM"/>
</constraints>
<fontDescription key="fontDescription" type="system" pointSize="20"/>
<state key="normal" image="mine_addbankbtn_icon">
<color key="titleColor" red="0.34509803919999998" green="0.75686274509999996" blue="0.050980392159999999" alpha="1" colorSpace="calibratedRGB"/>
</state>
</button>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="wtO-th-t2J">
<rect key="frame" x="0.0" y="0.0" width="320" height="1"/>
<color key="backgroundColor" white="0.66666666666666663" alpha="0.35824519230769231" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstAttribute="height" constant="1" id="Zf6-Xv-nBW"/>
</constraints>
</view>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
<constraints>
<constraint firstAttribute="trailing" secondItem="wtO-th-t2J" secondAttribute="trailing" id="1TE-P3-02r"/>
<constraint firstItem="wtO-th-t2J" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" id="H95-Rd-Fu3"/>
<constraint firstItem="XEH-EO-w12" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" id="JC0-NF-IOy"/>
<constraint firstAttribute="bottom" secondItem="XEH-EO-w12" secondAttribute="bottom" id="t35-18-5pb"/>
<constraint firstItem="XEH-EO-w12" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="centerY" id="u60-cd-bDX"/>
<constraint firstItem="wtO-th-t2J" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" id="wk1-CS-dTI"/>
<constraint firstItem="XEH-EO-w12" firstAttribute="centerX" secondItem="iN0-l3-epB" secondAttribute="centerX" id="zvk-MI-04t"/>
</constraints>
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
<variation key="default">
<mask key="constraints">
<exclude reference="JC0-NF-IOy"/>
<exclude reference="t35-18-5pb"/>
</mask>
</variation>
<connections>
<outlet property="btnAdd" destination="XEH-EO-w12" id="4Jq-eF-VFQ"/>
</connections>
</view>
</objects>
<resources>
<image name="mine_addbankbtn_icon" width="195" height="31"/>
</resources>
</document>
......@@ -9,6 +9,7 @@
#import "MineViewController.h"
#import "SettingViewController.h"
#import "MyAcountViewController.h"
#import "MyBandCardViewController.h"
@interface MineViewController ()
@end
......@@ -19,6 +20,8 @@
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
}
- (IBAction)myAcount:(id)sender {
CLog(@"myAcount");
......@@ -27,6 +30,18 @@
[self.navigationController pushViewController:acountVC animated:YES];
}
//我的银行卡
- (IBAction)myBankCardAction:(id)sender {
MyBandCardViewController *myBankCardVC = [[MyBandCardViewController alloc] init];
myBankCardVC.isShowNavigationBar = YES;
myBankCardVC.hidesBottomBarWhenPushed = YES;
[self.navigationController pushViewController:myBankCardVC animated:YES];
}
//设置
- (IBAction)actionSetting:(id)sender {
SettingViewController *settingVC = [[SettingViewController alloc] init];
settingVC.isShowNavigationBar = YES;
......@@ -40,6 +55,11 @@
// Dispose of any resources that can be recreated.
}
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[self.navigationController setNavigationBarHidden:YES animated:YES];
}
/*
#pragma mark - Navigation
......
......@@ -188,6 +188,9 @@
</imageView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="tqz-Pe-rl6">
<rect key="frame" x="0.0" y="0.0" width="375" height="55"/>
<connections>
<action selector="myBankCardAction:" destination="-1" eventType="touchUpInside" id="0ti-ho-TXd"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
......
......@@ -134,14 +134,14 @@
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="BED-54-Ug2">
<rect key="frame" x="1" y="1" width="124" height="96"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" text="待确认(元)" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ood-f0-M59">
<rect key="frame" x="21" y="20" width="85" height="22"/>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="待确认(元)" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ood-f0-M59">
<rect key="frame" x="19" y="20" width="85" height="22"/>
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="18"/>
<color key="textColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" text="0.00" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="pNx-QB-zi7">
<rect key="frame" x="36" y="52" width="55" height="32"/>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0.00" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="pNx-QB-zi7">
<rect key="frame" x="34" y="52" width="55" height="32"/>
<fontDescription key="fontDescription" type="system" pointSize="26"/>
<color key="textColor" red="1" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
......@@ -159,14 +159,14 @@
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="WQc-WT-07y">
<rect key="frame" x="126" y="1" width="123" height="96"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" text="可提现(元)" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="RM0-K2-Byh">
<rect key="frame" x="21" y="20" width="85" height="22"/>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="可提现(元)" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="RM0-K2-Byh">
<rect key="frame" x="19" y="20" width="85" height="22"/>
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="18"/>
<color key="textColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" text="0.00" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="XdY-4D-m6u">
<rect key="frame" x="36" y="52" width="55" height="32"/>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0.00" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="XdY-4D-m6u">
<rect key="frame" x="34" y="52" width="55" height="32"/>
<fontDescription key="fontDescription" type="system" pointSize="26"/>
<nil key="highlightedColor"/>
</label>
......@@ -189,8 +189,8 @@
<color key="textColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" text="0.00" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qei-dV-eu9">
<rect key="frame" x="36" y="52" width="55" height="32"/>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0.00" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qei-dV-eu9">
<rect key="frame" x="35" y="52" width="55" height="32"/>
<fontDescription key="fontDescription" type="system" pointSize="26"/>
<color key="textColor" red="1" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
......@@ -214,8 +214,8 @@
<color key="textColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" text="0.00" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="W2X-n7-lfz">
<rect key="frame" x="36" y="52" width="55" height="32"/>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0.00" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="W2X-n7-lfz">
<rect key="frame" x="34" y="52" width="55" height="32"/>
<fontDescription key="fontDescription" type="system" pointSize="26"/>
<nil key="highlightedColor"/>
</label>
......@@ -237,8 +237,8 @@
<color key="textColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" text="0.00" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="raB-Fb-V7Z">
<rect key="frame" x="36" y="52" width="55" height="32"/>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0.00" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="raB-Fb-V7Z">
<rect key="frame" x="34" y="52" width="55" height="32"/>
<fontDescription key="fontDescription" type="system" pointSize="26"/>
<nil key="highlightedColor"/>
</label>
......
//
// AddBankCardIDViewController.h
// ALand
//
// Created by Z on 16/5/5.
// Copyright © 2016年 Z. All rights reserved.
//
#import "IBTUIViewController.h"
@interface AddBankCardIDViewController : IBTUIViewController
@end
//
// AddBankCardIDViewController.m
// ALand
//
// Created by Z on 16/5/5.
// Copyright © 2016年 Z. All rights reserved.
//
#import "AddBankCardIDViewController.h"
#import "NSString+Category.h"
#import "AddDetailInfoViewController.h"
@interface AddBankCardIDViewController ()<UITextFieldDelegate>
@property (weak, nonatomic) IBOutlet UIButton *btnNext;
@property (weak, nonatomic) IBOutlet UITextField *textFieldBankCardID;
@end
@implementation AddBankCardIDViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"添加银行卡";
self.textFieldBankCardID.delegate = self;
self.btnNext.enabled = NO;
// Do any additional setup after loading the view from its nib.
}
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSString *strBankCardID = [textField.text stringByReplacingCharactersInRange:range withString:string];//变化后的字符串
if ([strBankCardID bankCardluhmCheck]) {
self.btnNext.enabled = YES;
}else{
self.btnNext.enabled = NO;
}
return YES;
}
- (IBAction)actionNext:(id)sender {
AddDetailInfoViewController *addDetailVC = [[AddDetailInfoViewController alloc] init];
addDetailVC.isShowNavigationBar = YES;
addDetailVC.bankCardID = self.textFieldBankCardID.text;
[self.navigationController pushViewController:addDetailVC animated:YES];
}
- (BOOL)textFieldShouldClear:(UITextField *)textField {
self.btnNext.enabled = NO;
return YES;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="9532" systemVersion="15D21" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES">
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9530"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="AddBankCardIDViewController">
<connections>
<outlet property="btnNext" destination="HV1-x8-gxb" id="jsD-2B-Q0c"/>
<outlet property="textFieldBankCardID" destination="Nu2-ae-U1X" id="Bq8-0W-ojU"/>
<outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
</connections>
</placeholder>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="opR-Ag-Ekp">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="09n-lO-Tg5">
<rect key="frame" x="0.0" y="30" width="375" height="50"/>
<subviews>
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请输入您的卡号" textAlignment="natural" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="Nu2-ae-U1X">
<rect key="frame" x="80" y="14" width="287" height="22"/>
<constraints>
<constraint firstAttribute="height" constant="22" id="FpZ-r4-92Q"/>
</constraints>
<fontDescription key="fontDescription" type="system" pointSize="18"/>
<textInputTraits key="textInputTraits" keyboardType="numberPad"/>
</textField>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="卡号" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="TGZ-nP-Z6L">
<rect key="frame" x="22" y="13" width="40" height="24"/>
<fontDescription key="fontDescription" type="system" pointSize="20"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstAttribute="height" constant="50" id="9sj-WT-zgx"/>
<constraint firstItem="TGZ-nP-Z6L" firstAttribute="centerY" secondItem="09n-lO-Tg5" secondAttribute="centerY" id="E9I-Tc-oiV"/>
<constraint firstItem="Nu2-ae-U1X" firstAttribute="centerY" secondItem="09n-lO-Tg5" secondAttribute="centerY" id="X0Z-dn-IAo"/>
<constraint firstItem="Nu2-ae-U1X" firstAttribute="leading" secondItem="09n-lO-Tg5" secondAttribute="leading" constant="80" id="dFJ-bh-NlO"/>
<constraint firstAttribute="trailing" secondItem="Nu2-ae-U1X" secondAttribute="trailing" constant="8" id="ih4-0p-fEn"/>
<constraint firstItem="TGZ-nP-Z6L" firstAttribute="leading" secondItem="09n-lO-Tg5" secondAttribute="leading" constant="22" id="vDg-0S-5Y6"/>
</constraints>
</view>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="HV1-x8-gxb">
<rect key="frame" x="32" y="181" width="311" height="44"/>
<constraints>
<constraint firstAttribute="height" constant="44" id="PcM-XJ-FpD"/>
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="44" id="UAj-5r-UyJ"/>
</constraints>
<fontDescription key="fontDescription" type="system" pointSize="22"/>
<state key="normal" title="下一步" backgroundImage="rigist_btn_bg">
<color key="titleColor" red="0.97254901959999995" green="0.97254901959999995" blue="0.97254901959999995" alpha="1" colorSpace="calibratedRGB"/>
</state>
<state key="disabled" title="下一步" backgroundImage="btn_background_gray"/>
<variation key="default">
<mask key="constraints">
<exclude reference="UAj-5r-UyJ"/>
</mask>
</variation>
<connections>
<action selector="actionNext:" destination="-1" eventType="touchUpInside" id="0XW-j7-hYb"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" red="0.94901960780000005" green="0.94901960780000005" blue="0.94901960780000005" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstItem="09n-lO-Tg5" firstAttribute="top" secondItem="opR-Ag-Ekp" secondAttribute="top" constant="30" id="3GH-Gv-OU7"/>
<constraint firstItem="09n-lO-Tg5" firstAttribute="leading" secondItem="opR-Ag-Ekp" secondAttribute="leading" id="3f1-Cy-8qt"/>
<constraint firstItem="HV1-x8-gxb" firstAttribute="leading" secondItem="opR-Ag-Ekp" secondAttribute="leading" constant="32" id="Ddl-EJ-fZt"/>
<constraint firstAttribute="trailing" secondItem="09n-lO-Tg5" secondAttribute="trailing" id="MFw-9l-5lA"/>
<constraint firstItem="HV1-x8-gxb" firstAttribute="top" secondItem="09n-lO-Tg5" secondAttribute="bottom" constant="101" id="hyc-ok-aly"/>
<constraint firstAttribute="trailing" secondItem="HV1-x8-gxb" secondAttribute="trailing" constant="32" id="nb0-Ls-Myd"/>
</constraints>
</view>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
<constraints>
<constraint firstAttribute="trailing" secondItem="opR-Ag-Ekp" secondAttribute="trailing" id="HOI-3U-fKQ"/>
<constraint firstAttribute="bottom" secondItem="opR-Ag-Ekp" secondAttribute="bottom" id="Mbw-0h-QbU"/>
<constraint firstItem="opR-Ag-Ekp" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="N8a-9Z-GbR"/>
<constraint firstItem="opR-Ag-Ekp" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="mMZ-Ar-eq4"/>
</constraints>
<simulatedScreenMetrics key="simulatedDestinationMetrics" type="retina47"/>
</view>
</objects>
<resources>
<image name="btn_background_gray" width="490" height="70"/>
<image name="rigist_btn_bg" width="490" height="65"/>
</resources>
</document>
//
// AddDetailInfoViewController.h
// ALand
//
// Created by Z on 16/5/5.
// Copyright © 2016年 Z. All rights reserved.
//
#import "IBTUIViewController.h"
@interface AddDetailInfoViewController : IBTUIViewController
@property (nonatomic, copy) NSString *bankCardID;
@end
//
// AddDetailInfoViewController.m
// ALand
//
// Created by Z on 16/5/5.
// Copyright © 2016年 Z. All rights reserved.
//
#import "AddDetailInfoViewController.h"
#import "MyBankClass.h"
@interface AddDetailInfoViewController ()<UITextFieldDelegate>
@property (weak, nonatomic) IBOutlet UILabel *labelBankName;
@property (weak, nonatomic) IBOutlet UILabel *labelBankCardID;
@property (weak, nonatomic) IBOutlet UITextField *labelName;
@property (weak, nonatomic) IBOutlet UIButton *btnNext;
@property (weak, nonatomic) IBOutlet UIButton *btnAgree;
@end
@implementation AddDetailInfoViewController
- (void)viewDidLoad {
[super viewDidLoad];
[self setDefauts];
[self machineStrings];
// Do any additional setup after loading the view from its nib.
}
//设置默认的一些信息
- (void)setDefauts {
self.title = @"添加银行卡";
self.btnNext.enabled = NO;
self.labelName.delegate = self;
}
//对文字进行加工并赋值
- (void)machineStrings {
self.labelBankName.text = [MyBankClass returnBankName:self.bankCardID];
self.labelBankCardID.text = [NSString stringWithFormat:@"***************%@",[self.bankCardID substringWithRange:NSMakeRange(self.bankCardID.length - 4, 4)]];
}
//检测下一步是否可以点
- (void)checkNextBtnIsEnabledWithName:(NSString *)name {
if (self.btnAgree.isSelected == YES && name.length > 0) {
self.btnNext.enabled = YES;
}else{
self.btnNext.enabled = NO;
}
}
#pragma mark *********** UITextFiedDelegate ***********
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSString *name = [textField.text stringByReplacingCharactersInRange:range withString:string];//变化后的字符串
[self checkNextBtnIsEnabledWithName:name];
return YES;
}
- (BOOL)textFieldShouldClear:(UITextField *)textField {
self.btnNext.enabled = NO;
return YES;
}
- (IBAction)actionAgree:(UIButton *)btn {
self.btnAgree.selected = !self.btnAgree.selected;
[self checkNextBtnIsEnabledWithName:self.labelName.text];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="9532" systemVersion="15D21" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES">
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9530"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="AddDetailInfoViewController">
<connections>
<outlet property="btnAgree" destination="BO0-6u-dcw" id="Xv2-Az-PH8"/>
<outlet property="btnNext" destination="Vi4-DT-Ls7" id="q91-Pd-rGy"/>
<outlet property="labelBankCardID" destination="WEh-Gr-4nd" id="WCH-lj-7Kd"/>
<outlet property="labelBankName" destination="juz-fP-CbV" id="71w-Sm-02R"/>
<outlet property="labelName" destination="Pua-ce-og8" id="Cdy-xv-Bpu"/>
<outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
</connections>
</placeholder>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="BoU-N3-ECx">
<rect key="frame" x="0.0" y="0.0" width="320" height="120"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="银行" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="oUf-db-PQ9">
<rect key="frame" x="22" y="27" width="38" height="23"/>
<fontDescription key="fontDescription" type="system" pointSize="19"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="卡号" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="abt-Dn-0ed">
<rect key="frame" x="22" y="73" width="38" height="23"/>
<fontDescription key="fontDescription" type="system" pointSize="19"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="招商银行" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="juz-fP-CbV">
<rect key="frame" x="87" y="27" width="76" height="23"/>
<fontDescription key="fontDescription" type="system" pointSize="19"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="***************700" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="WEh-Gr-4nd">
<rect key="frame" x="87" y="73" width="173" height="23"/>
<fontDescription key="fontDescription" type="system" pointSize="19"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" red="1" green="0.96078431372549022" blue="0.89411764705882346" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstItem="oUf-db-PQ9" firstAttribute="top" secondItem="BoU-N3-ECx" secondAttribute="top" constant="27" id="FRQ-k7-5PE"/>
<constraint firstAttribute="bottom" secondItem="abt-Dn-0ed" secondAttribute="bottom" constant="24" id="J2n-CB-rf0"/>
<constraint firstItem="oUf-db-PQ9" firstAttribute="leading" secondItem="BoU-N3-ECx" secondAttribute="leading" constant="22" id="KBX-Vt-QOk"/>
<constraint firstItem="abt-Dn-0ed" firstAttribute="leading" secondItem="BoU-N3-ECx" secondAttribute="leading" constant="22" id="PBd-Oy-htT"/>
<constraint firstItem="juz-fP-CbV" firstAttribute="centerY" secondItem="oUf-db-PQ9" secondAttribute="centerY" id="bHs-rE-NpI"/>
<constraint firstAttribute="height" constant="120" id="dtN-Yf-A5O"/>
<constraint firstItem="WEh-Gr-4nd" firstAttribute="leading" secondItem="abt-Dn-0ed" secondAttribute="trailing" constant="27" id="ims-im-uPV"/>
<constraint firstItem="juz-fP-CbV" firstAttribute="leading" secondItem="oUf-db-PQ9" secondAttribute="trailing" constant="27" id="kuZ-m3-9yB"/>
<constraint firstItem="WEh-Gr-4nd" firstAttribute="centerY" secondItem="abt-Dn-0ed" secondAttribute="centerY" id="rVO-mt-ccc"/>
</constraints>
</view>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="请填写银行卡信息(均已加密保护,保障您的用卡安全)" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="sce-xX-4Yd">
<rect key="frame" x="8" y="128" width="304" height="36"/>
<fontDescription key="fontDescription" type="system" pointSize="15"/>
<color key="textColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/>
<nil key="highlightedColor"/>
</label>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="rQj-07-ht8">
<rect key="frame" x="0.0" y="172" width="320" height="50"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="jlD-wV-7se">
<rect key="frame" x="0.0" y="0.0" width="320" height="50"/>
<subviews>
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="开户人姓名" textAlignment="natural" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="Pua-ce-og8">
<rect key="frame" x="100" y="14" width="212" height="22"/>
<constraints>
<constraint firstAttribute="height" constant="22" id="gWG-a1-VbM"/>
</constraints>
<fontDescription key="fontDescription" type="system" pointSize="18"/>
<textInputTraits key="textInputTraits"/>
</textField>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="持卡人" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SaJ-Dx-haf">
<rect key="frame" x="22" y="13" width="60" height="24"/>
<fontDescription key="fontDescription" type="system" pointSize="20"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<nil key="highlightedColor"/>
</label>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="9JH-tF-mVh">
<rect key="frame" x="8" y="49" width="304" height="1"/>
<color key="backgroundColor" red="0.94901960780000005" green="0.94901960780000005" blue="0.94901960780000005" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="height" constant="1" id="is5-3R-RuC"/>
</constraints>
</view>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="SaJ-Dx-haf" firstAttribute="leading" secondItem="jlD-wV-7se" secondAttribute="leading" constant="22" id="1dI-fg-QKk"/>
<constraint firstAttribute="trailing" secondItem="Pua-ce-og8" secondAttribute="trailing" constant="8" id="6VQ-JT-p12"/>
<constraint firstAttribute="trailing" secondItem="9JH-tF-mVh" secondAttribute="trailing" constant="8" id="8aH-RB-usK"/>
<constraint firstItem="Pua-ce-og8" firstAttribute="leading" secondItem="SaJ-Dx-haf" secondAttribute="trailing" constant="18" id="Ql1-wD-9Yg"/>
<constraint firstAttribute="height" constant="50" id="SPN-hl-n19"/>
<constraint firstItem="Pua-ce-og8" firstAttribute="centerY" secondItem="jlD-wV-7se" secondAttribute="centerY" id="XSd-0N-4nl"/>
<constraint firstItem="9JH-tF-mVh" firstAttribute="leading" secondItem="jlD-wV-7se" secondAttribute="leading" constant="8" id="dSH-P2-lcj"/>
<constraint firstAttribute="bottom" secondItem="9JH-tF-mVh" secondAttribute="bottom" id="izh-mn-6rc"/>
<constraint firstItem="SaJ-Dx-haf" firstAttribute="centerY" secondItem="jlD-wV-7se" secondAttribute="centerY" id="nCR-sp-ivf"/>
</constraints>
</view>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstAttribute="trailing" secondItem="jlD-wV-7se" secondAttribute="trailing" id="3AN-Zi-9qQ"/>
<constraint firstItem="jlD-wV-7se" firstAttribute="leading" secondItem="rQj-07-ht8" secondAttribute="leading" id="b0I-Zm-5YP"/>
<constraint firstAttribute="height" constant="50" id="nA7-b0-XNe"/>
<constraint firstItem="jlD-wV-7se" firstAttribute="top" secondItem="rQj-07-ht8" secondAttribute="top" id="wTr-21-3Zd"/>
</constraints>
</view>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="BO0-6u-dcw">
<rect key="frame" x="22" y="230" width="25" height="25"/>
<constraints>
<constraint firstAttribute="width" constant="25" id="1Oa-9x-EHd"/>
<constraint firstAttribute="height" constant="25" id="5vJ-Qd-78r"/>
</constraints>
<state key="normal" image="mine_addBankCard_disagree"/>
<state key="selected" image="mine_addBankCard_agree"/>
<state key="highlighted" image="mine_addBankCard_agree"/>
<state key="focused" image="mine_addBankCard_agree"/>
<connections>
<action selector="actionAgree:" destination="-1" eventType="touchUpInside" id="bsm-NY-nYl"/>
</connections>
</button>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="同意" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Wg9-bP-7rd">
<rect key="frame" x="55" y="232" width="36" height="22"/>
<fontDescription key="fontDescription" type="system" pointSize="18"/>
<color key="textColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="FIo-A2-df0">
<rect key="frame" x="91" y="226" width="108" height="34"/>
<fontDescription key="fontDescription" type="system" pointSize="18"/>
<state key="normal" title="《支付协议》"/>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Vi4-DT-Ls7">
<rect key="frame" x="32" y="424" width="256" height="44"/>
<constraints>
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="44" id="43C-iy-3Be"/>
<constraint firstAttribute="height" constant="44" id="gfO-F2-8ua"/>
</constraints>
<fontDescription key="fontDescription" type="system" pointSize="22"/>
<state key="normal" title="下一步" backgroundImage="rigist_btn_bg">
<color key="titleColor" red="0.97254901959999995" green="0.97254901959999995" blue="0.97254901959999995" alpha="1" colorSpace="calibratedRGB"/>
</state>
<state key="disabled" title="下一步" backgroundImage="btn_background_gray"/>
</button>
</subviews>
<color key="backgroundColor" red="0.94901960780000005" green="0.94901960780000005" blue="0.94901960780000005" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstItem="BO0-6u-dcw" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="22" id="1yV-W5-Ps2"/>
<constraint firstItem="sce-xX-4Yd" firstAttribute="top" secondItem="BoU-N3-ECx" secondAttribute="bottom" constant="8" id="8WC-cL-jGq"/>
<constraint firstItem="BO0-6u-dcw" firstAttribute="top" secondItem="rQj-07-ht8" secondAttribute="bottom" constant="8" id="A1K-5g-HRp"/>
<constraint firstItem="BoU-N3-ECx" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="ACa-Og-x0V"/>
<constraint firstItem="rQj-07-ht8" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="BAM-uv-Gc4"/>
<constraint firstItem="FIo-A2-df0" firstAttribute="centerY" secondItem="Wg9-bP-7rd" secondAttribute="centerY" id="QFI-qJ-HWG"/>
<constraint firstItem="BoU-N3-ECx" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="QUt-Nf-JZx"/>
<constraint firstItem="rQj-07-ht8" firstAttribute="top" secondItem="sce-xX-4Yd" secondAttribute="bottom" constant="8" id="Qf0-Ca-Iew"/>
<constraint firstItem="sce-xX-4Yd" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="8" id="QiT-7R-ci2"/>
<constraint firstItem="Wg9-bP-7rd" firstAttribute="centerY" secondItem="BO0-6u-dcw" secondAttribute="centerY" id="So6-n9-wZh"/>
<constraint firstAttribute="trailing" secondItem="sce-xX-4Yd" secondAttribute="trailing" constant="8" id="YWe-Pf-elA"/>
<constraint firstItem="Wg9-bP-7rd" firstAttribute="leading" secondItem="BO0-6u-dcw" secondAttribute="trailing" constant="8" id="asV-Bl-s7v"/>
<constraint firstItem="Vi4-DT-Ls7" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="32" id="gXB-qY-JsQ"/>
<constraint firstAttribute="trailing" secondItem="rQj-07-ht8" secondAttribute="trailing" id="s46-Rl-jka"/>
<constraint firstItem="FIo-A2-df0" firstAttribute="leading" secondItem="Wg9-bP-7rd" secondAttribute="trailing" id="uqf-0l-hco"/>
<constraint firstAttribute="bottom" secondItem="Vi4-DT-Ls7" secondAttribute="bottom" constant="100" id="xKN-7Z-fOL"/>
<constraint firstAttribute="trailing" secondItem="BoU-N3-ECx" secondAttribute="trailing" id="xzP-Kg-MKn"/>
<constraint firstAttribute="trailing" secondItem="Vi4-DT-Ls7" secondAttribute="trailing" constant="32" id="z3w-7g-WlX"/>
</constraints>
<simulatedScreenMetrics key="simulatedDestinationMetrics" type="retina4"/>
</view>
</objects>
<resources>
<image name="btn_background_gray" width="490" height="70"/>
<image name="mine_addBankCard_agree" width="40" height="40"/>
<image name="mine_addBankCard_disagree" width="40" height="40"/>
<image name="rigist_btn_bg" width="490" height="65"/>
</resources>
</document>
//
// MyBandCardViewController.h
// ALand
//
// Created by Z on 16/5/5.
// Copyright © 2016年 Z. All rights reserved.
//
#import "IBTUIViewController.h"
@interface MyBandCardViewController : IBTUIViewController
@end
//
// MyBandCardViewController.m
// ALand
//
// Created by Z on 16/5/5.
// Copyright © 2016年 Z. All rights reserved.
//
#import "MyBandCardViewController.h"
#import "MyBandBottomView.h"
#import "AddBankCardIDViewController.h"
#import "UITableView+Category.h"
#import "BankTableViewCell.h"
#define kCellID @"cellID"
@interface MyBandCardViewController ()<UITableViewDelegate, UITableViewDataSource>
@property (nonatomic, strong) UIImageView *imgNoCardBackview;
@property (nonatomic, strong) MyBandBottomView *bottomView;
@property (nonatomic, strong) UITableView *tableView;
@end
@implementation MyBandCardViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"我的银行卡";
[self setUpNoCardBackroundView];
[self setUpTableView];
[self addBottomView];
// Do any additional setup after loading the view.
}
- (void)setUpTableView {
self.tableView = [UITableView plainTableViewWithTarget:self cellNibName:@"BankTableViewCell" cellId:kCellID];
self.tableView.contentInset = UIEdgeInsetsMake(10, 0, 0, 0);
self.tableView.backgroundColor = kBacroundColor;
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
self.tableView.frame = CGRectMake(0, 0, kWidth, kHeight - 60 - 64);
[self.view addSubview:self.tableView];
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 130;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 4;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
BankTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellID forIndexPath:indexPath];
return cell;
}
//没有银行卡的背景
- (void)setUpNoCardBackroundView {
self.imgNoCardBackview = [UIImageView new];
[self.view addSubview:self.imgNoCardBackview];
self.imgNoCardBackview.contentMode = UIViewContentModeScaleAspectFit;
self.imgNoCardBackview.image = [UIImage imageNamed:@"mine_nocard_backround"];
self.imgNoCardBackview.sd_layout.centerXEqualToView(self.view).centerYIs(self.view.centerY - 100).leftSpaceToView(self.view, 80).rightSpaceToView(self.view, 80).heightIs(600);
}
//添加底部添加按钮
- (void)addBottomView {
self.bottomView = [MyBandBottomView viewWithNibName:@"MyBandBottomView"];
self.bottomView.frame = CGRectMake(0, kHeight - 60 - 64, kWidth, 60 + 64);
kButtonAddAction(self.bottomView.btnAdd, goAddBankCardID);
[self.view addSubview:self.bottomView];
}
- (void)goAddBankCardID {
AddBankCardIDViewController *addBankIDVC = [[AddBankCardIDViewController alloc] init];
addBankIDVC.isShowNavigationBar = YES;
[self.navigationController pushViewController:addBankIDVC animated:YES];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end
......@@ -27,7 +27,7 @@
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<nil key="highlightedColor"/>
</label>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="rightIcon" translatesAutoresizingMaskIntoConstraints="NO" id="Tr7-KF-NsW">
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" image="rightIcon" translatesAutoresizingMaskIntoConstraints="NO" id="Tr7-KF-NsW">
<rect key="frame" x="357" y="30" width="10" height="30"/>
<constraints>
<constraint firstAttribute="width" constant="10" id="21S-TV-ZBG"/>
......@@ -64,7 +64,7 @@
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Tgc-3e-TQr" userLabel="个性签名">
<rect key="frame" x="0.0" y="98" width="375" height="50"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="rightIcon" translatesAutoresizingMaskIntoConstraints="NO" id="q4e-UX-9Iq">
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" image="rightIcon" translatesAutoresizingMaskIntoConstraints="NO" id="q4e-UX-9Iq">
<rect key="frame" x="357" y="10" width="10" height="30"/>
<constraints>
<constraint firstAttribute="width" constant="10" id="gS6-OO-7Wj"/>
......@@ -104,7 +104,7 @@
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="g2a-cQ-j4f" userLabel="消息设置">
<rect key="frame" x="0.0" y="156" width="375" height="50"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="rightIcon" translatesAutoresizingMaskIntoConstraints="NO" id="ODV-9G-WcV">
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" image="rightIcon" translatesAutoresizingMaskIntoConstraints="NO" id="ODV-9G-WcV">
<rect key="frame" x="357" y="10" width="10" height="30"/>
<constraints>
<constraint firstAttribute="width" constant="10" id="CWA-MV-hPn"/>
......@@ -150,7 +150,7 @@
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="7De-WQ-TBD" userLabel="登录密码">
<rect key="frame" x="0.0" y="214" width="375" height="50"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="rightIcon" translatesAutoresizingMaskIntoConstraints="NO" id="wt1-KT-vOJ">
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" image="rightIcon" translatesAutoresizingMaskIntoConstraints="NO" id="wt1-KT-vOJ">
<rect key="frame" x="357" y="10" width="10" height="30"/>
<constraints>
<constraint firstAttribute="width" constant="10" id="q7S-WT-utc"/>
......@@ -209,7 +209,7 @@
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="wea-du-rfh" userLabel="手机号码">
<rect key="frame" x="0.0" y="264" width="375" height="50"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="rightIcon" translatesAutoresizingMaskIntoConstraints="NO" id="i3E-Tf-yvZ">
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" image="rightIcon" translatesAutoresizingMaskIntoConstraints="NO" id="i3E-Tf-yvZ">
<rect key="frame" x="357" y="10" width="10" height="30"/>
<constraints>
<constraint firstAttribute="width" constant="10" id="NwH-25-OHc"/>
......@@ -268,7 +268,7 @@
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="MiY-le-eXG" userLabel="提现密码">
<rect key="frame" x="0.0" y="314" width="375" height="50"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="rightIcon" translatesAutoresizingMaskIntoConstraints="NO" id="48E-sg-B55">
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" image="rightIcon" translatesAutoresizingMaskIntoConstraints="NO" id="48E-sg-B55">
<rect key="frame" x="357" y="10" width="10" height="30"/>
<constraints>
<constraint firstAttribute="width" constant="10" id="did-6Q-ZDB"/>
......@@ -327,7 +327,7 @@
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="3T0-bi-6UQ" userLabel="清空数据缓存">
<rect key="frame" x="0.0" y="372" width="375" height="50"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="rightIcon" translatesAutoresizingMaskIntoConstraints="NO" id="Lsf-Uu-0IB">
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" image="rightIcon" translatesAutoresizingMaskIntoConstraints="NO" id="Lsf-Uu-0IB">
<rect key="frame" x="357" y="10" width="10" height="30"/>
<constraints>
<constraint firstAttribute="width" constant="10" id="3TR-ju-sDy"/>
......
......@@ -10,4 +10,103 @@
@interface NSString (Category)
+ (NSString *)randomTestText;
/**
* 手机号码的有效性:分电信、联通、移动和小灵通
*/
- (BOOL)isMobileNumberClassification;
/**
* 手机号有效性
*/
- (BOOL)isMobileNumber;
/**
* 邮箱的有效性
*/
- (BOOL)isEmailAddress;
/**
* 简单的身份证有效性
*
*/
- (BOOL)simpleVerifyIdentityCardNum;
/**
* 精确的身份证号码有效性检测
*
* @param value 身份证号
*/
+ (BOOL)accurateVerifyIDCardNumber:(NSString *)value;
/**
* 车牌号的有效性
*/
- (BOOL)isCarNumber;
/**
* 银行卡的有效性
*/
- (BOOL)bankCardluhmCheck;
/**
* IP地址有效性
*/
- (BOOL)isIPAddress;
/**
* Mac地址有效性
*/
- (BOOL)isMacAddress;
/**
* 网址有效性
*/
- (BOOL)isValidUrl;
/**
* 纯汉字
*/
- (BOOL)isValidChinese;
/**
* 邮政编码
*/
- (BOOL)isValidPostalcode;
/**
* 工商税号
*/
- (BOOL)isValidTaxNo;
/**
@brief 是否符合最小长度、最长长度,是否包含中文,首字母是否可以为数字
@param minLenth 账号最小长度
@param maxLenth 账号最长长度
@param containChinese 是否包含中文
@param firstCannotBeDigtal 首字母不能为数字
@return 正则验证成功返回YES, 否则返回NO
*/
- (BOOL)isValidWithMinLenth:(NSInteger)minLenth
maxLenth:(NSInteger)maxLenth
containChinese:(BOOL)containChinese
firstCannotBeDigtal:(BOOL)firstCannotBeDigtal;
/**
@brief 是否符合最小长度、最长长度,是否包含中文,数字,字母,其他字符,首字母是否可以为数字
@param minLenth 账号最小长度
@param maxLenth 账号最长长度
@param containChinese 是否包含中文
@param containDigtal 包含数字
@param containLetter 包含字母
@param containOtherCharacter 其他字符
@param firstCannotBeDigtal 首字母不能为数字
@return 正则验证成功返回YES, 否则返回NO
*/
- (BOOL)isValidWithMinLenth:(NSInteger)minLenth
maxLenth:(NSInteger)maxLenth
containChinese:(BOOL)containChinese
containDigtal:(BOOL)containDigtal
containLetter:(BOOL)containLetter
containOtherCharacter:(NSString *)containOtherCharacter
firstCannotBeDigtal:(BOOL)firstCannotBeDigtal;
@end
......@@ -23,4 +23,349 @@
}
#pragma mark - 正则相关
- (BOOL)isValidateByRegex:(NSString *)regex
{
NSPredicate *pre = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex];
return [pre evaluateWithObject:self];
}
#pragma mark -
//手机号分服务商
- (BOOL)isMobileNumberClassification{
/**
* 手机号码
* 移动:134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188,1705
* 联通:130,131,132,152,155,156,185,186,1709
* 电信:133,1349,153,180,189,1700
*/
// NSString * MOBILE = @"^1((3//d|5[0-35-9]|8[025-9])//d|70[059])\\\\d{7}$";//总况
/**
10 * 中国移动:China Mobile
11 * 134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188,1705
12 */
NSString * CM = @"^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\\\\d|705)\\\\d{7}$";
/**
15 * 中国联通:China Unicom
16 * 130,131,132,152,155,156,185,186,1709
17 */
NSString * CU = @"^1((3[0-2]|5[256]|8[56])\\\\d|709)\\\\d{7}$";
/**
20 * 中国电信:China Telecom
21 * 133,1349,153,180,189,1700
22 */
NSString * CT = @"^1((33|53|8[09])\\\\d|349|700)\\\\d{7}$";
/**
25 * 大陆地区固话及小灵通
26 * 区号:010,020,021,022,023,024,025,027,028,029
27 * 号码:七位或八位
28 */
NSString * PHS = @"^0(10|2[0-5789]|\\\\d{3})\\\\d{7,8}$";
// NSPredicate *regextestmobile = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", MOBILE];
if (([self isValidateByRegex:CM])
|| ([self isValidateByRegex:CU])
|| ([self isValidateByRegex:CT])
|| ([self isValidateByRegex:PHS]))
{
return YES;
}
else
{
return NO;
}
}
//手机号有效性
- (BOOL)isMobileNumber{
/**
* 手机号以13、15、18、170开头,8个 \\d 数字字符
* 小灵通 区号:010,020,021,022,023,024,025,027,028,029 还有未设置的新区号xxx
*/
NSString *mobileNoRegex = @"^1((3\\\\d|5[0-35-9]|8[025-9])\\\\d|70[059])\\\\d{7}$";//除4以外的所有个位整数,不能使用[^4,\\\\d]匹配,这里是否iOS Bug?
NSString *phsRegex =@"^0(10|2[0-57-9]|\\\\d{3})\\\\d{7,8}$";
BOOL ret = [self isValidateByRegex:mobileNoRegex];
BOOL ret1 = [self isValidateByRegex:phsRegex];
return (ret || ret1);
}
//邮箱
- (BOOL)isEmailAddress{
NSString *emailRegex = @"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\\\.[A-Za-z]{2,4}";
return [self isValidateByRegex:emailRegex];
}
//身份证号
- (BOOL) simpleVerifyIdentityCardNum
{
NSString *regex2 = @"^(\\\\d{14}|\\\\d{17})(\\\\d|[xX])$";
return [self isValidateByRegex:regex2];
}
//车牌
- (BOOL)isCarNumber{
//车牌号:湘K-DE829 香港车牌号码:粤Z-J499港
NSString *carRegex = @"^[\\u4e00-\\u9fff]{1}[a-zA-Z]{1}[-][a-zA-Z_0-9]{4}[a-zA-Z_0-9_\\u4e00-\\u9fff]$";//其中\\u4e00-\\u9fa5表示unicode编码中汉字已编码部分,\\u9fa5-\\u9fff是保留部分,将来可能会添加
return [self isValidateByRegex:carRegex];
}
- (BOOL)isMacAddress{
NSString * macAddRegex = @"([A-Fa-f\\\\d]{2}:){5}[A-Fa-f\\\\d]{2}";
return [self isValidateByRegex:macAddRegex];
}
- (BOOL)isValidUrl
{
NSString *regex = @"^((http)|(https))+:[^\\\\s]+\\\\.[^\\\\s]*$";
return [self isValidateByRegex:regex];
}
- (BOOL)isValidChinese;
{
NSString *chineseRegex = @"^[\\u4e00-\\u9fa5]+$";
return [self isValidateByRegex:chineseRegex];
}
- (BOOL)isValidPostalcode {
NSString *postalRegex = @"^[0-8]\\\\d{5}(?!\\\\d)$";
return [self isValidateByRegex:postalRegex];
}
- (BOOL)isValidTaxNo
{
NSString *taxNoRegex = @"[0-9]\\\\d{13}([0-9]|X)$";
return [self isValidateByRegex:taxNoRegex];
}
- (BOOL)isValidWithMinLenth:(NSInteger)minLenth
maxLenth:(NSInteger)maxLenth
containChinese:(BOOL)containChinese
firstCannotBeDigtal:(BOOL)firstCannotBeDigtal;
{
// [\\u4e00-\\u9fa5A-Za-z0-9_]{4,20}
NSString *hanzi = containChinese ? @"\\u4e00-\\u9fa5" : @"";
NSString *first = firstCannotBeDigtal ? @"^[a-zA-Z_]" : @"";
NSString *regex = [NSString stringWithFormat:@"%@[%@A-Za-z0-9_]{%d,%d}", first, hanzi, (int)(minLenth-1), (int)(maxLenth-1)];
return [self isValidateByRegex:regex];
}
- (BOOL)isValidWithMinLenth:(NSInteger)minLenth
maxLenth:(NSInteger)maxLenth
containChinese:(BOOL)containChinese
containDigtal:(BOOL)containDigtal
containLetter:(BOOL)containLetter
containOtherCharacter:(NSString *)containOtherCharacter
firstCannotBeDigtal:(BOOL)firstCannotBeDigtal;
{
NSString *hanzi = containChinese ? @"\\u4e00-\\u9fa5" : @"";
NSString *first = firstCannotBeDigtal ? @"^[a-zA-Z_]" : @"";
NSString *lengthRegex = [NSString stringWithFormat:@"(?=^.{%@,%@}$)", @(minLenth), @(maxLenth)];
NSString *digtalRegex = containDigtal ? @"(?=(.*\\\\d.*){1})" : @"";
NSString *letterRegex = containLetter ? @"(?=(.*[a-zA-Z].*){1})" : @"";
NSString *characterRegex = [NSString stringWithFormat:@"(?:%@[%@A-Za-z0-9%@]+)", first, hanzi, containOtherCharacter ? containOtherCharacter : @""];
NSString *regex = [NSString stringWithFormat:@"%@%@%@%@", lengthRegex, digtalRegex, letterRegex, characterRegex];
return [self isValidateByRegex:regex];
}
#pragma mark - 算法相关
//精确的身份证号码有效性检测
+ (BOOL)accurateVerifyIDCardNumber:(NSString *)value {
value = [value stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
int length =0;
if (!value) {
return NO;
}else {
length = (int)value.length;
if (length !=15 && length !=18) {
return NO;
}
}
// 省份代码
NSArray *areasArray =@[@"11",@"12", @"13",@"14", @"15",@"21", @"22",@"23", @"31",@"32", @"33",@"34", @"35",@"36", @"37",@"41", @"42",@"43", @"44",@"45", @"46",@"50", @"51",@"52", @"53",@"54", @"61",@"62", @"63",@"64", @"65",@"71", @"81",@"82", @"91"];
NSString *valueStart2 = [value substringToIndex:2];
BOOL areaFlag =NO;
for (NSString *areaCode in areasArray) {
if ([areaCode isEqualToString:valueStart2]) {
areaFlag =YES;
break;
}
}
if (!areaFlag) {
return false;
}
NSRegularExpression *regularExpression;
NSUInteger numberofMatch;
int year =0;
switch (length) {
case 15:
year = [value substringWithRange:NSMakeRange(6,2)].intValue +1900;
if (year %4 ==0 || (year %100 ==0 && year %4 ==0)) {
regularExpression = [[NSRegularExpression alloc] initWithPattern:@"^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$"
options:NSRegularExpressionCaseInsensitive
error:nil];//测试出生日期的合法性
}else {
regularExpression = [[NSRegularExpression alloc]initWithPattern:@"^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$"
options:NSRegularExpressionCaseInsensitive
error:nil];//测试出生日期的合法性
}
numberofMatch = [regularExpression numberOfMatchesInString:value
options:NSMatchingReportProgress
range:NSMakeRange(0, value.length)];
if(numberofMatch >0) {
return YES;
}else {
return NO;
}
case 18:
year = [value substringWithRange:NSMakeRange(6,4)].intValue;
if (year %4 ==0 || (year %100 ==0 && year %4 ==0)) {
regularExpression = [[NSRegularExpression alloc] initWithPattern:@"^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$"
options:NSRegularExpressionCaseInsensitive
error:nil];//测试出生日期的合法性
}else {
regularExpression = [[NSRegularExpression alloc] initWithPattern:@"^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$"
options:NSRegularExpressionCaseInsensitive
error:nil];//测试出生日期的合法性
}
numberofMatch = [regularExpression numberOfMatchesInString:value
options:NSMatchingReportProgress
range:NSMakeRange(0, value.length)];
if(numberofMatch >0) {
int S = ([value substringWithRange:NSMakeRange(0,1)].intValue + [value substringWithRange:NSMakeRange(10,1)].intValue) *7 + ([value substringWithRange:NSMakeRange(1,1)].intValue + [value substringWithRange:NSMakeRange(11,1)].intValue) *9 + ([value substringWithRange:NSMakeRange(2,1)].intValue + [value substringWithRange:NSMakeRange(12,1)].intValue) *10 + ([value substringWithRange:NSMakeRange(3,1)].intValue + [value substringWithRange:NSMakeRange(13,1)].intValue) *5 + ([value substringWithRange:NSMakeRange(4,1)].intValue + [value substringWithRange:NSMakeRange(14,1)].intValue) *8 + ([value substringWithRange:NSMakeRange(5,1)].intValue + [value substringWithRange:NSMakeRange(15,1)].intValue) *4 + ([value substringWithRange:NSMakeRange(6,1)].intValue + [value substringWithRange:NSMakeRange(16,1)].intValue) *2 + [value substringWithRange:NSMakeRange(7,1)].intValue *1 + [value substringWithRange:NSMakeRange(8,1)].intValue *6 + [value substringWithRange:NSMakeRange(9,1)].intValue *3;
int Y = S %11;
NSString *M =@"F";
NSString *JYM =@"10X98765432";
M = [JYM substringWithRange:NSMakeRange(Y,1)];// 判断校验位
if ([M isEqualToString:[value substringWithRange:NSMakeRange(17,1)]]) {
return YES;// 检测ID的校验位
}else {
return NO;
}
}else {
return NO;
}
default:
return NO;
}
}
/** 银行卡号有效性问题Luhn算法
* 现行 16 位银联卡现行卡号开头 6 位是 622126~622925 之间的,7 到 15 位是银行自定义的,
* 可能是发卡分行,发卡网点,发卡序号,第 16 位是校验码。
* 16 位卡号校验位采用 Luhm 校验方法计算:
* 1,将未带校验位的 15 位卡号从右依次编号 1 到 15,位于奇数位号上的数字乘以 2
* 2,将奇位乘积的个十位全部相加,再加上所有偶数位上的数字
* 3,将加法和加上校验位能被 10 整除。
*/
- (BOOL)bankCardluhmCheck{
if (self.length != 19) {
return NO;
}else{
NSString * lastNum = [[self substringFromIndex:(self.length-1)] copy];//取出最后一位
NSString * forwardNum = [[self substringToIndex:(self.length -1)] copy];//前15或18位
NSMutableArray * forwardArr = [[NSMutableArray alloc] initWithCapacity:0];
for (int i=0; i<forwardNum.length; i++) {
NSString * subStr = [forwardNum substringWithRange:NSMakeRange(i, 1)];
[forwardArr addObject:subStr];
}
NSMutableArray * forwardDescArr = [[NSMutableArray alloc] initWithCapacity:0];
for (int i = (int)(forwardArr.count-1); i> -1; i--) {//前15位或者前18位倒序存进数组
[forwardDescArr addObject:forwardArr[i]];
}
NSMutableArray * arrOddNum = [[NSMutableArray alloc] initWithCapacity:0];//奇数位*2的积 < 9
NSMutableArray * arrOddNum2 = [[NSMutableArray alloc] initWithCapacity:0];//奇数位*2的积 > 9
NSMutableArray * arrEvenNum = [[NSMutableArray alloc] initWithCapacity:0];//偶数位数组
for (int i=0; i< forwardDescArr.count; i++) {
NSInteger num = [forwardDescArr[i] intValue];
if (i%2) {//偶数位
[arrEvenNum addObject:[NSNumber numberWithInteger:num]];
}else{//奇数位
if (num * 2 < 9) {
[arrOddNum addObject:[NSNumber numberWithInteger:num * 2]];
}else{
NSInteger decadeNum = (num * 2) / 10;
NSInteger unitNum = (num * 2) % 10;
[arrOddNum2 addObject:[NSNumber numberWithInteger:unitNum]];
[arrOddNum2 addObject:[NSNumber numberWithInteger:decadeNum]];
}
}
}
__block NSInteger sumOddNumTotal = 0;
[arrOddNum enumerateObjectsUsingBlock:^(NSNumber * obj, NSUInteger idx, BOOL *stop) {
sumOddNumTotal += [obj integerValue];
}];
__block NSInteger sumOddNum2Total = 0;
[arrOddNum2 enumerateObjectsUsingBlock:^(NSNumber * obj, NSUInteger idx, BOOL *stop) {
sumOddNum2Total += [obj integerValue];
}];
__block NSInteger sumEvenNumTotal =0 ;
[arrEvenNum enumerateObjectsUsingBlock:^(NSNumber * obj, NSUInteger idx, BOOL *stop) {
sumEvenNumTotal += [obj integerValue];
}];
NSInteger lastNumber = [lastNum integerValue];
NSInteger luhmTotal = lastNumber + sumEvenNumTotal + sumOddNum2Total + sumOddNumTotal;
return (luhmTotal%10 ==0)?YES:NO;
}
}
- (BOOL)isIPAddress{
NSString *regex = [NSString stringWithFormat:@"^(\\\\d{1,3})\\\\.(\\\\d{1,3})\\\\.(\\\\d{1,3})\\\\.(\\\\d{1,3})$"];
NSPredicate *pre = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex];
BOOL rc = [pre evaluateWithObject:self];
if (rc) {
NSArray *componds = [self componentsSeparatedByString:@","];
BOOL v = YES;
for (NSString *s in componds) {
if (s.integerValue > 255) {
v = NO;
break;
}
}
return v;
}
return NO;
}
@end
......@@ -9,6 +9,8 @@
#import <UIKit/UIKit.h>
@interface UITableView (Category)
+ (UITableView *)plainTableViewWithTarget:(id)target cellNibName:(NSString *)nibName cellId:(NSString *)cellId;
@end
//
// MyBankClass.h
// 跳舞兰转单
//
// Created by 张坤 on 15/12/11.
// Copyright (c) 2015年 张坤. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface MyBankClass : NSObject
+(NSString *)returnBankName:(NSString*) idCard;
+(BOOL)validatePhone:(NSString *)phone;
+(BOOL)isPureInt:(NSString *)string;
@end
//
// MyBankClass.m
// 跳舞兰转单
//
// Created by 张坤 on 15/12/11.
// Copyright (c) 2015年 张坤. All rights reserved.
//
#import "MyBankClass.h"
@implementation MyBankClass
+ (NSString *)returnBankName:(NSString*) idCard{
//"发卡行.卡种名称",
NSArray* bankName = @[
@"邮储银行·绿卡通" , @"邮储银行·绿卡银联标准卡" , @"邮储银行·绿卡银联标准卡" , @"邮储银行·绿卡专用卡" , @"邮储银行·绿卡银联标准卡",
@"邮储银行·绿卡(银联卡)" , @"邮储银行·绿卡VIP卡" , @"邮储银行·银联标准卡" , @"邮储银行·中职学生资助卡" , @"邮政储蓄银行·IC绿卡通VIP卡",
@"邮政储蓄银行·IC绿卡通" , @"邮政储蓄银行·IC联名卡" , @"邮政储蓄银行·IC预付费卡" , @"邮储银行·绿卡银联标准卡" , @"邮储银行·绿卡通",
@"邮政储蓄银行·武警军人保障卡" , @"邮政储蓄银行·中国旅游卡(金卡)" , @"邮政储蓄银行·普通高中学生资助卡" , @"邮政储蓄银行·中国旅游卡(普卡)",
@"邮政储蓄银行·福农卡" , @"工商银行·牡丹运通卡金卡" , @"工商银行·牡丹运通卡金卡" , @"工商银行·牡丹运通卡金卡" , @"工商银行·牡丹VISA卡(单位卡)",
@"工商银行·牡丹VISA信用卡" , @"工商银行·牡丹VISA卡(单位卡)" , @"工商银行·牡丹VISA信用卡" , @"工商银行·牡丹VISA信用卡" , @"工商银行·牡丹VISA信用卡",
@"工商银行·牡丹VISA信用卡" , @"工商银行·牡丹运通卡普通卡" , @"工商银行·牡丹VISA信用卡" , @"工商银行·牡丹VISA白金卡" , @"工商银行·牡丹贷记卡(银联卡)",
@"工商银行·牡丹贷记卡(银联卡)" , @"工商银行·牡丹贷记卡(银联卡)" , @"工商银行·牡丹贷记卡(银联卡)" , @"工商银行·牡丹欧元卡" , @"工商银行·牡丹欧元卡",
@"工商银行·牡丹欧元卡" , @"工商银行·牡丹万事达国际借记卡" , @"工商银行·牡丹VISA信用卡" , @"工商银行·海航信用卡" , @"工商银行·牡丹VISA信用卡",
@"工商银行·牡丹万事达信用卡" , @"工商银行·牡丹万事达信用卡" , @"工商银行·牡丹万事达信用卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡",
@"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹万事达白金卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡",
@"工商银行·海航信用卡个人普卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡",
@"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡",
@"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡",
@"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡",
@"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡",
@"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡",
@"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡",
@"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡",
@"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡",
@"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡",
@"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡",
@"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡",
@"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡",
@"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡",
@"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡",
@"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡",
@"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡",
@"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·E时代卡" , @"工商银行·E时代卡" , @"工商银行·理财金卡" , @"工商银行·准贷记卡(个普)" , @"工商银行·准贷记卡(个普)" , @"工商银行·准贷记卡(个普)" , @"工商银行·准贷记卡(个普)" , @"工商银行·准贷记卡(个普)" , @"工商银行·牡丹灵通卡" , @"工商银行·准贷记卡(商普)" , @"工商银行·牡丹卡(商务卡)" , @"工商银行·准贷记卡(商金)" , @"工商银行·牡丹卡(商务卡)" , @"工商银行·贷记卡(个普)" , @"工商银行·牡丹卡(个人卡)" , @"工商银行·牡丹卡(个人卡)" , @"工商银行·牡丹卡(个人卡)" , @"工商银行·牡丹卡(个人卡)" , @"工商银行·贷记卡(个金)" , @"工商银行·牡丹交通卡" , @"工商银行·准贷记卡(个金)" , @"工商银行·牡丹交通卡" , @"工商银行·贷记卡(商普)" , @"工商银行·贷记卡(商金)" , @"工商银行·牡丹卡(商务卡)" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹交通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹灵通卡" , @"工商银行·牡丹贷记卡" , @"工商银行·牡丹贷记卡" , @"工商银行·牡丹贷记卡" , @"工商银行·牡丹贷记卡" , @"工商银行·牡丹灵通卡" , @"工商银行·中央预算单位公务卡" , @"工商银行·牡丹灵通卡" , @"工商银行·财政预算单位公务卡" , @"工商银行·牡丹卡白金卡" , @"工商银行·牡丹卡普卡" , @"工商银行·国航知音牡丹信用卡" , @"工商银行·国航知音牡丹信用卡" , @"工商银行·国航知音牡丹信用卡" , @"工商银行·国航知音牡丹信用卡" , @"工商银行·银联标准卡" , @"工商银行·中职学生资助卡" , @"工商银行·专用信用消费卡" , @"工商银行·牡丹社会保障卡" , @"中国工商银行·牡丹东航联名卡" , @"中国工商银行·牡丹东航联名卡" , @"中国工商银行·牡丹运通白金卡" , @"中国工商银行·福农灵通卡" , @"中国工商银行·福农灵通卡" , @"工商银行·灵通卡" , @"工商银行·灵通卡" , @"中国工商银行·中国旅行卡" , @"工商银行·牡丹卡普卡" , @"工商银行·国际借记卡" , @"工商银行·国际借记卡" , @"工商银行·国际借记卡" , @"工商银行·国际借记卡" , @"中国工商银行·牡丹JCB信用卡" , @"中国工商银行·牡丹JCB信用卡" , @"中国工商银行·牡丹JCB信用卡" , @"中国工商银行·牡丹JCB信用卡" , @"中国工商银行·牡丹多币种卡" , @"中国工商银行·武警军人保障卡" , @"工商银行·预付芯片卡" , @"工商银行·理财金账户金卡" , @"工商银行·灵通卡" , @"工商银行·牡丹宁波市民卡" , @"中国工商银行·中国旅游卡" , @"中国工商银行·中国旅游卡" , @"中国工商银行·中国旅游卡" , @"中国工商银行·借记卡" , @"中国工商银行·借贷合一卡" , @"中国工商银行·普通高中学生资助卡" , @"中国工商银行·牡丹多币种卡" , @"中国工商银行·牡丹多币种卡" , @"中国工商银行·牡丹百夫长信用卡" , @"中国工商银行·牡丹百夫长信用卡" , @"工商银行·工银财富卡" , @"中国工商银行·中小商户采购卡" , @"中国工商银行·中小商户采购卡" , @"中国工商银行·环球旅行金卡" , @"中国工商银行·环球旅行白金卡" , @"中国工商银行·牡丹工银大来卡" , @"中国工商银行·牡丹工银大莱卡" , @"中国工商银行·IC金卡" , @"中国工商银行·IC白金卡" , @"中国工商银行·工行IC卡(红卡)" , @"中国工商银行布鲁塞尔分行·借记卡" , @"中国工商银行布鲁塞尔分行·预付卡" , @"中国工商银行布鲁塞尔分行·预付卡" , @"中国工商银行金边分行·借记卡" , @"中国工商银行金边分行·信用卡" , @"中国工商银行金边分行·借记卡" , @"中国工商银行金边分行·信用卡" , @"中国工商银行加拿大分行·借记卡" , @"中国工商银行加拿大分行·借记卡" , @"中国工商银行加拿大分行·预付卡" , @"中国工商银行巴黎分行·借记卡" , @"中国工商银行巴黎分行·借记卡" , @"中国工商银行巴黎分行·贷记卡" , @"中国工商银行法兰克福分行·贷记卡" , @"中国工商银行法兰克福分行·借记卡" , @"中国工商银行法兰克福分行·贷记卡" , @"中国工商银行法兰克福分行·贷记卡" , @"中国工商银行法兰克福分行·借记卡" , @"中国工商银行法兰克福分行·预付卡" , @"中国工商银行法兰克福分行·预付卡" , @"中国工商银行印尼分行·借记卡" , @"中国工商银行印尼分行·信用卡" , @"中国工商银行米兰分行·借记卡" , @"中国工商银行米兰分行·预付卡" , @"中国工商银行米兰分行·预付卡" , @"中国工商银行阿拉木图子行·借记卡" , @"中国工商银行阿拉木图子行·贷记卡" , @"中国工商银行阿拉木图子行·借记卡" , @"中国工商银行阿拉木图子行·预付卡" , @"中国工商银行万象分行·借记卡" , @"中国工商银行万象分行·贷记卡" , @"中国工商银行卢森堡分行·借记卡" , @"中国工商银行卢森堡分行·贷记卡" , @"中国工商银行澳门分行·E时代卡" , @"中国工商银行澳门分行·E时代卡" , @"中国工商银行澳门分行·E时代卡" , @"中国工商银行澳门分行·理财金账户" , @"中国工商银行澳门分行·理财金账户" , @"中国工商银行澳门分行·理财金账户" , @"中国工商银行澳门分行·预付卡" , @"中国工商银行澳门分行·预付卡" , @"中国工商银行澳门分行·工银闪付预付卡" , @"中国工商银行澳门分行·工银银联公司卡" , @"中国工商银行澳门分行·Diamond" , @"中国工商银行阿姆斯特丹·借记卡" , @"中国工商银行卡拉奇分行·借记卡" , @"中国工商银行卡拉奇分行·贷记卡" , @"中国工商银行新加坡分行·贷记卡" , @"中国工商银行新加坡分行·贷记卡" , @"中国工商银行新加坡分行·借记卡" , @"中国工商银行新加坡分行·预付卡" , @"中国工商银行新加坡分行·预付卡" , @"中国工商银行新加坡分行·借记卡" , @"中国工商银行新加坡分行·借记卡" , @"中国工商银行马德里分行·借记卡" , @"中国工商银行马德里分行·借记卡" , @"中国工商银行马德里分行·预付卡" , @"中国工商银行马德里分行·预付卡" , @"中国工商银行伦敦子行·借记卡" , @"中国工商银行伦敦子行·工银伦敦借记卡" , @"中国工商银行伦敦子行·借记卡" , @"农业银行·金穗贷记卡" , @"农业银行·中国旅游卡" , @"农业银行·普通高中学生资助卡" , @"农业银行·银联标准卡" , @"农业银行·金穗贷记卡(银联卡)" , @"农业银行·金穗贷记卡(银联卡)" , @"农业银行·金穗贷记卡(银联卡)" , @"农业银行·金穗贷记卡(银联卡)" , @"农业银行·金穗贷记卡(银联卡)" , @"农业银行·金穗贷记卡(银联卡)" , @"农业银行·VISA白金卡" , @"农业银行·万事达白金卡" , @"农业银行·金穗贷记卡(银联卡)" , @"农业银行·金穗贷记卡(银联卡)" , @"农业银行·金穗贷记卡(银联卡)" , @"农业银行·金穗贷记卡(银联卡)" , @"农业银行·金穗贷记卡" , @"农业银行·中职学生资助卡" , @"农业银行·专用惠农卡" , @"农业银行·武警军人保障卡" , @"农业银行·金穗校园卡(银联卡)" , @"农业银行·金穗星座卡(银联卡)" , @"农业银行·金穗社保卡(银联卡)" , @"农业银行·金穗旅游卡(银联卡)" , @"农业银行·金穗青年卡(银联卡)" , @"农业银行·复合介质金穗通宝卡" , @"农业银行·金穗海通卡" , @"农业银行·退役金卡" , @"农业银行·金穗贷记卡" , @"农业银行·金穗贷记卡" , @"农业银行·金穗通宝卡(银联卡)" , @"农业银行·金穗惠农卡" , @"农业银行·金穗通宝银卡" , @"农业银行·金穗通宝卡(银联卡)" , @"农业银行·金穗通宝卡(银联卡)" , @"农业银行·金穗通宝卡" , @"农业银行·金穗通宝卡(银联卡)" , @"农业银行·金穗通宝卡(银联卡)" , @"农业银行·金穗通宝钻石卡" , @"农业银行·掌尚钱包" , @"农业银行·银联IC卡金卡" , @"农业银行·银联预算单位公务卡金卡" , @"农业银行·银联IC卡白金卡" , @"农业银行·金穗公务卡" , @"中国农业银行贷记卡·IC普卡" , @"中国农业银行贷记卡·IC金卡" , @"中国农业银行贷记卡·澳元卡" , @"中国农业银行贷记卡·欧元卡" , @"中国农业银行贷记卡·金穗通商卡" , @"中国农业银行贷记卡·金穗通商卡" , @"中国农业银行贷记卡·银联白金卡" , @"中国农业银行贷记卡·中国旅游卡" , @"中国农业银行贷记卡·银联IC公务卡" , @"宁波市农业银行·市民卡B卡" , @"中国银行·联名卡" , @"中国银行·个人普卡" , @"中国银行·个人金卡" , @"中国银行·员工普卡" , @"中国银行·员工金卡" , @"中国银行·理财普卡" , @"中国银行·理财金卡" , @"中国银行·理财银卡" , @"中国银行·理财白金卡" , @"中国银行·中行金融IC卡白金卡" , @"中国银行·中行金融IC卡普卡" , @"中国银行·中行金融IC卡金卡" , @"中国银行·中银JCB卡金卡" , @"中国银行·中银JCB卡普卡" , @"中国银行·员工普卡" , @"中国银行·个人普卡" , @"中国银行·中银威士信用卡员" , @"中国银行·中银威士信用卡员" , @"中国银行·个人白金卡" , @"中国银行·中银威士信用卡" , @"中国银行·长城公务卡" , @"中国银行·长城电子借记卡" , @"中国银行·中银万事达信用卡" , @"中国银行·中银万事达信用卡" , @"中国银行·中银万事达信用卡" , @"中国银行·中银万事达信用卡" , @"中国银行·中银万事达信用卡" , @"中国银行·中银威士信用卡员" , @"中国银行·长城万事达信用卡" , @"中国银行·长城万事达信用卡" , @"中国银行·长城万事达信用卡" , @"中国银行·长城万事达信用卡" , @"中国银行·长城万事达信用卡" , @"中国银行·中银奥运信用卡" , @"中国银行·长城信用卡" , @"中国银行·长城信用卡" , @"中国银行·长城信用卡" , @"中国银行·长城万事达信用卡" , @"中国银行·长城公务卡" , @"中国银行·长城公务卡" , @"中国银行·中银万事达信用卡" , @"中国银行·中银万事达信用卡" , @"中国银行·长城人民币信用卡" , @"中国银行·长城人民币信用卡" , @"中国银行·长城人民币信用卡" , @"中国银行·长城信用卡" , @"中国银行·长城人民币信用卡" , @"中国银行·长城人民币信用卡" , @"中国银行·长城信用卡" , @"中国银行·银联单币贷记卡" , @"中国银行·长城信用卡" , @"中国银行·长城信用卡" , @"中国银行·长城信用卡" , @"中国银行·长城电子借记卡" , @"中国银行·长城人民币信用卡" , @"中国银行·银联标准公务卡" , @"中国银行·一卡双账户普卡" , @"中国银行·财互通卡" , @"中国银行·电子现金卡" , @"中国银行·长城人民币信用卡" , @"中国银行·长城单位信用卡普卡" , @"中国银行·中银女性主题信用卡" , @"中国银行·长城单位信用卡金卡" , @"中国银行·白金卡" , @"中国银行·中职学生资助卡" , @"中国银行·银联标准卡" , @"中国银行·金融IC卡" , @"中国银行·长城社会保障卡" , @"中国银行·世界卡" , @"中国银行·社保联名卡" , @"中国银行·社保联名卡" , @"中国银行·医保联名卡" , @"中国银行·医保联名卡" , @"中国银行·公司借记卡" , @"中国银行·银联美运顶级卡" , @"中国银行·长城福农借记卡金卡" , @"中国银行·长城福农借记卡普卡" , @"中国银行·中行金融IC卡普卡" , @"中国银行·中行金融IC卡金卡" , @"中国银行·中行金融IC卡白金卡" , @"中国银行·长城银联公务IC卡白金卡" , @"中国银行·中银旅游信用卡" , @"中国银行·长城银联公务IC卡金卡" , @"中国银行·中国旅游卡" , @"中国银行·武警军人保障卡" , @"中国银行·社保联名借记IC卡" , @"中国银行·社保联名借记IC卡" , @"中国银行·医保联名借记IC卡" , @"中国银行·医保联名借记IC卡" , @"中国银行·借记IC个人普卡" , @"中国银行·借记IC个人金卡" , @"中国银行·借记IC个人普卡" , @"中国银行·借记IC白金卡" , @"中国银行·借记IC钻石卡" , @"中国银行·借记IC联名卡" , @"中国银行·普通高中学生资助卡" , @"中国银行·长城环球通港澳台旅游金卡" , @"中国银行·长城环球通港澳台旅游白金卡" , @"中国银行·中银福农信用卡" , @"中国银行金边分行·借记卡" , @"中国银行雅加达分行·借记卡" , @"中国银行首尔分行·借记卡" , @"中国银行澳门分行·人民币信用卡" , @"中国银行澳门分行·人民币信用卡" , @"中国银行澳门分行·中银卡" , @"中国银行澳门分行·中银卡" , @"中国银行澳门分行·中银卡" , @"中国银行澳门分行·中银银联双币商务卡" , @"中国银行澳门分行·预付卡" , @"中国银行澳门分行·澳门中国银行银联预付卡" , @"中国银行澳门分行·澳门中国银行银联预付卡" , @"中国银行澳门分行·熊猫卡" , @"中国银行澳门分行·财富卡" , @"中国银行澳门分行·银联港币卡" , @"中国银行澳门分行·银联澳门币卡" , @"中国银行马尼拉分行·双币种借记卡" , @"中国银行胡志明分行·借记卡" , @"中国银行曼谷分行·借记卡" , @"中国银行曼谷分行·长城信用卡环球通" , @"中国银行曼谷分行·借记卡" , @"建设银行·龙卡准贷记卡" , @"建设银行·龙卡准贷记卡金卡" , @"建设银行·中职学生资助卡" , @"建设银行·乐当家银卡VISA" , @"建设银行·乐当家金卡VISA" , @"建设银行·乐当家白金卡" , @"建设银行·龙卡普通卡VISA" , @"建设银行·龙卡储蓄卡" , @"建设银行·VISA准贷记卡(银联卡)" , @"建设银行·VISA准贷记金卡" , @"建设银行·乐当家" , @"建设银行·乐当家" , @"建设银行·准贷记金卡" , @"建设银行·乐当家白金卡" , @"建设银行·金融复合IC卡" , @"建设银行·银联标准卡" , @"建设银行·银联理财钻石卡" , @"建设银行·金融IC卡" , @"建设银行·理财白金卡" , @"建设银行·社保IC卡" , @"建设银行·财富卡私人银行卡" , @"建设银行·理财金卡" , @"建设银行·福农卡" , @"建设银行·武警军人保障卡" , @"建设银行·龙卡通" , @"建设银行·银联储蓄卡" , @"建设银行·龙卡储蓄卡(银联卡)" , @"建设银行·准贷记卡" , @"建设银行·理财白金卡" , @"建设银行·理财金卡" , @"建设银行·准贷记卡普卡" , @"建设银行·准贷记卡金卡" , @"建设银行·龙卡信用卡" , @"建设银行·建行陆港通龙卡" , @"中国建设银行·普通高中学生资助卡" , @"中国建设银行·中国旅游卡" , @"中国建设银行·龙卡JCB金卡" , @"中国建设银行·龙卡JCB白金卡" , @"中国建设银行·龙卡JCB普卡" , @"中国建设银行·龙卡贷记卡公司卡" , @"中国建设银行·龙卡贷记卡" , @"中国建设银行·龙卡国际普通卡VISA" , @"中国建设银行·龙卡国际金卡VISA" , @"中国建设银行·VISA白金信用卡" , @"中国建设银行·龙卡国际白金卡" , @"中国建设银行·龙卡国际普通卡MASTER" , @"中国建设银行·龙卡国际金卡MASTER" , @"中国建设银行·龙卡万事达金卡" , @"中国建设银行·龙卡贷记卡" , @"中国建设银行·龙卡万事达白金卡" , @"中国建设银行·龙卡贷记卡" , @"中国建设银行·龙卡万事达信用卡" , @"中国建设银行·龙卡人民币信用卡" , @"中国建设银行·龙卡人民币信用金卡" , @"中国建设银行·龙卡人民币白金卡" , @"中国建设银行·龙卡IC信用卡普卡" , @"中国建设银行·龙卡IC信用卡金卡" , @"中国建设银行·龙卡IC信用卡白金卡" , @"中国建设银行·龙卡银联公务卡普卡" , @"中国建设银行·龙卡银联公务卡金卡" , @"中国建设银行·中国旅游卡" , @"中国建设银行·中国旅游卡" , @"中国建设银行·龙卡IC公务卡" , @"中国建设银行·龙卡IC公务卡" , @"交通银行·交行预付卡" , @"交通银行·世博预付IC卡" , @"交通银行·太平洋互连卡" , @"交通银行·太平洋万事顺卡" , @"交通银行·太平洋互连卡(银联卡)" , @"交通银行·太平洋白金信用卡" , @"交通银行·太平洋双币贷记卡" , @"交通银行·太平洋双币贷记卡" , @"交通银行·太平洋双币贷记卡" , @"交通银行·太平洋白金信用卡" , @"交通银行·太平洋双币贷记卡" , @"交通银行·太平洋万事顺卡" , @"交通银行·太平洋人民币贷记卡" , @"交通银行·太平洋人民币贷记卡" , @"交通银行·太平洋双币贷记卡" , @"交通银行·太平洋准贷记卡" , @"交通银行·太平洋准贷记卡" , @"交通银行·太平洋准贷记卡" , @"交通银行·太平洋准贷记卡" , @"交通银行·太平洋借记卡" , @"交通银行·太平洋借记卡" , @"交通银行·太平洋人民币贷记卡" , @"交通银行·太平洋借记卡" , @"交通银行·太平洋MORE卡" , @"交通银行·白金卡" , @"交通银行·交通银行公务卡普卡" , @"交通银行·太平洋人民币贷记卡" , @"交通银行·太平洋互连卡" , @"交通银行·太平洋借记卡" , @"交通银行·太平洋万事顺卡" , @"交通银行·太平洋贷记卡(银联卡)" , @"交通银行·太平洋贷记卡(银联卡)" , @"交通银行·太平洋贷记卡(银联卡)" , @"交通银行·太平洋贷记卡(银联卡)" , @"交通银行·交通银行公务卡金卡" , @"交通银行·交银IC卡" , @"交通银行香港分行·交通银行港币借记卡" , @"交通银行香港分行·港币礼物卡" , @"交通银行香港分行·双币种信用卡" , @"交通银行香港分行·双币种信用卡" , @"交通银行香港分行·双币卡" , @"交通银行香港分行·银联人民币卡" , @"交通银行澳门分行·银联借记卡" , @"中信银行·中信借记卡" , @"中信银行·中信借记卡" , @"中信银行·中信国际借记卡" , @"中信银行·中信国际借记卡" , @"中信银行·中国旅行卡" , @"中信银行·中信借记卡(银联卡)" , @"中信银行·中信借记卡(银联卡)" , @"中信银行·中信贵宾卡(银联卡)" , @"中信银行·中信理财宝金卡" , @"中信银行·中信理财宝白金卡" , @"中信银行·中信钻石卡" , @"中信银行·中信钻石卡" , @"中信银行·中信借记卡" , @"中信银行·中信理财宝(银联卡)" , @"中信银行·中信理财宝(银联卡)" , @"中信银行·中信理财宝(银联卡)" , @"中信银行·借记卡" , @"中信银行·理财宝IC卡" , @"中信银行·理财宝IC卡" , @"中信银行·理财宝IC卡" , @"中信银行·理财宝IC卡" , @"中信银行·理财宝IC卡" , @"中信银行·主账户复合电子现金卡" , @"光大银行·阳光商旅信用卡" , @"光大银行·阳光商旅信用卡" , @"光大银行·阳光商旅信用卡" , @"光大银行·阳光卡(银联卡)" , @"光大银行·阳光卡(银联卡)" , @"光大银行·阳光卡(银联卡)" , @"光大银行·阳光卡(银联卡)" , @"光大银行·阳光卡(银联卡)" , @"光大银行·阳光卡(银联卡)" , @"光大银行·阳光卡(银联卡)" , @"光大银行·阳光卡(银联卡)" , @"光大银行·阳光卡(银联卡)" , @"光大银行·阳光卡(银联卡)" , @"光大银行·阳光卡(银联卡)" , @"光大银行·阳光卡(银联卡)" , @"光大银行·阳光卡(银联卡)" , @"光大银行·阳光卡(银联卡)" , @"光大银行·阳光卡(银联卡)" , @"光大银行·借记卡普卡" , @"光大银行·社会保障IC卡" , @"光大银行·IC借记卡普卡" , @"光大银行·手机支付卡" , @"光大银行·联名IC卡普卡" , @"光大银行·借记IC卡白金卡" , @"光大银行·借记IC卡金卡" , @"光大银行·阳光旅行卡" , @"光大银行·借记IC卡钻石卡" , @"光大银行·联名IC卡金卡" , @"光大银行·联名IC卡白金卡" , @"光大银行·联名IC卡钻石卡" , @"华夏银行·华夏卡(银联卡)" , @"华夏银行·华夏白金卡" , @"华夏银行·华夏普卡" , @"华夏银行·华夏金卡" , @"华夏银行·华夏白金卡" , @"华夏银行·华夏钻石卡" , @"华夏银行·华夏卡(银联卡)" , @"华夏银行·华夏至尊金卡(银联卡)" , @"华夏银行·华夏丽人卡(银联卡)" , @"华夏银行·华夏万通卡" , @"民生银行·民生借记卡(银联卡)" , @"民生银行·民生银联借记卡-金卡" , @"民生银行·钻石卡" , @"民生银行·民生借记卡(银联卡)" , @"民生银行·民生借记卡(银联卡)" , @"民生银行·民生借记卡(银联卡)" , @"民生银行·民生借记卡" , @"民生银行·民生国际卡" , @"民生银行·民生国际卡(银卡)" , @"民生银行·民生国际卡(欧元卡)" , @"民生银行·民生国际卡(澳元卡)" , @"民生银行·民生国际卡" , @"民生银行·民生国际卡" , @"民生银行·薪资理财卡" , @"民生银行·借记卡普卡" , @"民生银行·民生MasterCard" , @"民生银行·民生MasterCard" , @"民生银行·民生MasterCard" , @"民生银行·民生MasterCard" , @"民生银行·民生JCB信用卡" , @"民生银行·民生JCB金卡" , @"民生银行·民生贷记卡(银联卡)" , @"民生银行·民生贷记卡(银联卡)" , @"民生银行·民生贷记卡(银联卡)" , @"民生银行·民生贷记卡(银联卡)" , @"民生银行·民生贷记卡(银联卡)" , @"民生银行·民生JCB普卡" , @"民生银行·民生贷记卡(银联卡)" , @"民生银行·民生贷记卡(银联卡)" , @"民生银行·民生信用卡(银联卡)" , @"民生银行·民生信用卡(银联卡)" , @"民生银行·民生银联白金信用卡" , @"民生银行·民生贷记卡(银联卡)" , @"民生银行·民生银联个人白金卡" , @"民生银行·公务卡金卡" , @"民生银行·民生贷记卡(银联卡)" , @"民生银行·民生银联商务信用卡" , @"民生银行·民VISA无限卡" , @"民生银行·民生VISA商务白金卡" , @"民生银行·民生万事达钛金卡" , @"民生银行·民生万事达世界卡" , @"民生银行·民生万事达白金公务卡" , @"民生银行·民生JCB白金卡" , @"民生银行·银联标准金卡" , @"民生银行·银联芯片普卡" , @"民生银行·民生运通双币信用卡普卡" , @"民生银行·民生运通双币信用卡金卡" , @"民生银行·民生运通双币信用卡钻石卡" , @"民生银行·民生运通双币标准信用卡白金卡" , @"民生银行·银联芯片金卡" , @"民生银行·银联芯片白金卡" , @"招商银行·招商银行信用卡" , @"招商银行·招商银行信用卡" , @"招商银行·招商银行信用卡" , @"招商银行·招商银行信用卡" , @"招商银行·招商银行信用卡" , @"招商银行·两地一卡通" , @"招商银行·招行国际卡(银联卡)" , @"招商银行·招商银行信用卡" , @"招商银行·VISA商务信用卡" , @"招商银行·招行国际卡(银联卡)" , @"招商银行·招商银行信用卡" , @"招商银行·招商银行信用卡" , @"招商银行·招行国际卡(银联卡)" , @"招商银行·世纪金花联名信用卡" , @"招商银行·招行国际卡(银联卡)" , @"招商银行·招商银行信用卡" , @"招商银行·万事达信用卡" , @"招商银行·万事达信用卡" , @"招商银行·万事达信用卡" , @"招商银行·万事达信用卡" , @"招商银行·招商银行信用卡" , @"招商银行·招商银行信用卡" , @"招商银行·招商银行信用卡" , @"招商银行·招商银行信用卡" , @"招商银行·招商银行信用卡" , @"招商银行·招商银行信用卡" , @"招商银行·一卡通(银联卡)" , @"招商银行·万事达信用卡" , @"招商银行·招商银行信用卡" , @"招商银行·招商银行信用卡" , @"招商银行·一卡通(银联卡)" , @"招商银行·公司卡(银联卡)" , @"招商银行·金卡" , @"招商银行·招行一卡通" , @"招商银行·招行一卡通" , @"招商银行·万事达信用卡" , @"招商银行·金葵花卡" , @"招商银行·电子现金卡" , @"招商银行·银联IC普卡" , @"招商银行·银联IC金卡" , @"招商银行·银联金葵花IC卡" , @"招商银行·IC公务卡" , @"招商银行·招商银行信用卡" , @"招商银行信用卡中心·美国运通绿卡" , @"招商银行信用卡中心·美国运通金卡" , @"招商银行信用卡中心·美国运通商务绿卡" , @"招商银行信用卡中心·美国运通商务金卡" , @"招商银行信用卡中心·VISA信用卡" , @"招商银行信用卡中心·MASTER信用卡" , @"招商银行信用卡中心·MASTER信用金卡" , @"招商银行信用卡中心·银联标准公务卡(金卡)" , @"招商银行信用卡中心·VISA信用卡" , @"招商银行信用卡中心·银联标准财政公务卡" , @"招商银行信用卡中心·芯片IC信用卡" , @"招商银行信用卡中心·芯片IC信用卡" , @"招商银行香港分行·香港一卡通" , @"兴业银行·兴业卡(银联卡)" , @"兴业银行·兴业卡(银联标准卡)" , @"兴业银行·兴业自然人生理财卡" , @"兴业银行·兴业智能卡(银联卡)" , @"兴业银行·兴业智能卡" , @"兴业银行·visa标准双币个人普卡" , @"兴业银行·VISA商务普卡" , @"兴业银行·VISA商务金卡" , @"兴业银行·VISA运动白金信用卡" , @"兴业银行·万事达信用卡(银联卡)" , @"兴业银行·VISA信用卡(银联卡)" , @"兴业银行·加菲猫信用卡" , @"兴业银行·个人白金卡" , @"兴业银行·银联信用卡(银联卡)" , @"兴业银行·银联信用卡(银联卡)" , @"兴业银行·银联白金信用卡" , @"兴业银行·银联标准公务卡" , @"兴业银行·VISA信用卡(银联卡)" , @"兴业银行·万事达信用卡(银联卡)" , @"兴业银行·银联标准贷记普卡" , @"兴业银行·银联标准贷记金卡" , @"兴业银行·银联标准贷记金卡" , @"兴业银行·银联标准贷记金卡" , @"兴业银行·兴业信用卡" , @"兴业银行·兴业信用卡" , @"兴业银行·兴业信用卡" , @"兴业银行·银联标准贷记普卡" , @"兴业银行·银联标准贷记普卡" , @"兴业银行·兴业芯片普卡" , @"兴业银行·兴业芯片金卡" , @"兴业银行·兴业芯片白金卡" , @"兴业银行·兴业芯片钻石卡" , @"浦东发展银行·浦发JCB金卡" , @"浦东发展银行·浦发JCB白金卡" , @"浦东发展银行·信用卡VISA普通" , @"浦东发展银行·信用卡VISA金卡" , @"浦东发展银行·浦发银行VISA年青卡" , @"浦东发展银行·VISA白金信用卡" , @"浦东发展银行·浦发万事达白金卡" , @"浦东发展银行·浦发JCB普卡" , @"浦东发展银行·浦发万事达金卡" , @"浦东发展银行·浦发万事达普卡" , @"浦东发展银行·浦发单币卡" , @"浦东发展银行·浦发银联单币麦兜普卡" , @"浦东发展银行·东方轻松理财卡" , @"浦东发展银行·东方-轻松理财卡普卡" , @"浦东发展银行·东方轻松理财卡" , @"浦东发展银行·东方轻松理财智业金卡" , @"浦东发展银行·东方卡(银联卡)" , @"浦东发展银行·东方卡(银联卡)" , @"浦东发展银行·东方卡(银联卡)" , @"浦东发展银行·公务卡金卡" , @"浦东发展银行·公务卡普卡" , @"浦东发展银行·东方卡" , @"浦东发展银行·东方卡" , @"浦东发展银行·浦发单币卡" , @"浦东发展银行·浦发联名信用卡" , @"浦东发展银行·浦发银联白金卡" , @"浦东发展银行·轻松理财普卡" , @"浦东发展银行·移动联名卡" , @"浦东发展银行·轻松理财消贷易卡" , @"浦东发展银行·轻松理财普卡(复合卡)" , @"浦东发展银行·贷记卡" , @"浦东发展银行·贷记卡" , @"浦东发展银行·东方借记卡(复合卡)" , @"浦东发展银行·电子现金卡(IC卡)" , @"浦东发展银行·移动浦发联名卡" , @"浦东发展银行·东方-标准准贷记卡" , @"浦东发展银行·轻松理财金卡(复合卡)" , @"浦东发展银行·轻松理财白金卡(复合卡)" , @"浦东发展银行·轻松理财钻石卡(复合卡)" , @"浦东发展银行·东方卡" , @"恒丰银行·九州IC卡" , @"恒丰银行·九州借记卡(银联卡)" , @"恒丰银行·九州借记卡(银联卡)" , @"天津市商业银行·银联卡(银联卡)" , @"烟台商业银行·金通卡" , @"潍坊银行·鸢都卡(银联卡)" , @"潍坊银行·鸳都卡(银联卡)" , @"临沂商业银行·沂蒙卡(银联卡)" , @"临沂商业银行·沂蒙卡(银联卡)" , @"日照市商业银行·黄海卡" , @"日照市商业银行·黄海卡(银联卡)" , @"浙商银行·商卡" , @"浙商银行·商卡" , @"渤海银行·浩瀚金卡" , @"渤海银行·渤海银行借记卡" , @"渤海银行·金融IC卡" , @"渤海银行·渤海银行公司借记卡" , @"星展银行·星展银行借记卡" , @"星展银行·星展银行借记卡" , @"恒生银行·恒生通财卡" , @"恒生银行·恒生优越通财卡" , @"新韩银行·新韩卡" , @"上海银行·慧通钻石卡" , @"上海银行·慧通金卡" , @"上海银行·私人银行卡" , @"上海银行·综合保险卡" , @"上海银行·申卡社保副卡(有折)" , @"上海银行·申卡社保副卡(无折)" , @"上海银行·白金IC借记卡" , @"上海银行·慧通白金卡(配折)" , @"上海银行·慧通白金卡(不配折)" , @"上海银行·申卡(银联卡)" , @"上海银行·申卡借记卡" , @"上海银行·银联申卡(银联卡)" , @"上海银行·单位借记卡" , @"上海银行·首发纪念版IC卡" , @"上海银行·申卡贷记卡" , @"上海银行·申卡贷记卡" , @"上海银行·J分期付款信用卡" , @"上海银行·申卡贷记卡" , @"上海银行·申卡贷记卡" , @"上海银行·上海申卡IC" , @"上海银行·申卡贷记卡" , @"上海银行·申卡贷记卡普通卡" , @"上海银行·申卡贷记卡金卡" , @"上海银行·万事达白金卡" , @"上海银行·万事达星运卡" , @"上海银行·申卡贷记卡金卡" , @"上海银行·申卡贷记卡普通卡" , @"上海银行·安融卡" , @"上海银行·分期付款信用卡" , @"上海银行·信用卡" , @"上海银行·个人公务卡" , @"上海银行·安融卡" , @"上海银行·上海银行银联白金卡" , @"上海银行·贷记IC卡" , @"上海银行·中国旅游卡(IC普卡)" , @"上海银行·中国旅游卡(IC金卡)" , @"上海银行·中国旅游卡(IC白金卡)" , @"上海银行·万事达钻石卡" , @"上海银行·淘宝IC普卡" , @"北京银行·京卡借记卡" , @"北京银行·京卡(银联卡)" , @"北京银行·京卡借记卡" , @"北京银行·京卡" , @"北京银行·京卡" , @"北京银行·借记IC卡" , @"北京银行·京卡贵宾金卡" , @"北京银行·京卡贵宾白金卡" , @"吉林银行·君子兰一卡通(银联卡)" , @"吉林银行·君子兰卡(银联卡)" , @"吉林银行·长白山金融IC卡" , @"吉林银行·信用卡" , @"吉林银行·信用卡" , @"吉林银行·公务卡" , @"镇江市商业银行·金山灵通卡(银联卡)" , @"镇江市商业银行·金山灵通卡(银联卡)" , @"宁波银行·银联标准卡" , @"宁波银行·汇通借记卡" , @"宁波银行·汇通卡(银联卡)" , @"宁波银行·明州卡" , @"宁波银行·汇通借记卡" , @"宁波银行·汇通国际卡银联双币卡" , @"宁波银行·汇通国际卡银联双币卡" , @"平安银行·新磁条借记卡" , @"平安银行·平安银行IC借记卡" , @"平安银行·万事顺卡" , @"平安银行·平安银行借记卡" , @"平安银行·平安银行借记卡" , @"平安银行·万事顺借记卡" , @"焦作市商业银行·月季借记卡(银联卡)" , @"焦作市商业银行·月季城市通(银联卡)" , @"焦作市商业银行·中国旅游卡" , @"温州银行·金鹿卡" , @"汉口银行·九通卡(银联卡)" , @"汉口银行·九通卡" , @"汉口银行·借记卡" , @"汉口银行·借记卡" , @"盛京银行·玫瑰卡" , @"盛京银行·玫瑰IC卡" , @"盛京银行·玫瑰IC卡" , @"盛京银行·玫瑰卡" , @"盛京银行·玫瑰卡" , @"盛京银行·玫瑰卡(银联卡)" , @"盛京银行·玫瑰卡(银联卡)" , @"盛京银行·盛京银行公务卡" , @"洛阳银行·都市一卡通(银联卡)" , @"洛阳银行·都市一卡通(银联卡)" , @"洛阳银行·--" , @"大连银行·北方明珠卡" , @"大连银行·人民币借记卡" , @"大连银行·金融IC借记卡" , @"大连银行·大连市社会保障卡" , @"大连银行·借记IC卡" , @"大连银行·借记IC卡" , @"大连银行·大连市商业银行贷记卡" , @"大连银行·大连市商业银行贷记卡" , @"大连银行·银联标准公务卡" , @"苏州市商业银行·姑苏卡" , @"杭州商业银行·西湖卡" , @"杭州商业银行·西湖卡" , @"杭州商业银行·借记IC卡" , @"杭州商业银行·" , @"南京银行·梅花信用卡公务卡" , @"南京银行·梅花信用卡商务卡" , @"南京银行·梅花贷记卡(银联卡)" , @"南京银行·梅花借记卡(银联卡)" , @"南京银行·白金卡" , @"南京银行·商务卡" , @"东莞市商业银行·万顺通卡(银联卡)" , @"东莞市商业银行·万顺通卡(银联卡)" , @"东莞市商业银行·万顺通借记卡" , @"东莞市商业银行·社会保障卡" , @"乌鲁木齐市商业银行·雪莲借记IC卡" , @"乌鲁木齐市商业银行·乌鲁木齐市公务卡" , @"乌鲁木齐市商业银行·福农卡贷记卡" , @"乌鲁木齐市商业银行·福农卡准贷记卡" , @"乌鲁木齐市商业银行·雪莲准贷记卡" , @"乌鲁木齐市商业银行·雪莲贷记卡(银联卡)" , @"乌鲁木齐市商业银行·雪莲借记IC卡" , @"乌鲁木齐市商业银行·雪莲借记卡(银联卡)" , @"乌鲁木齐市商业银行·雪莲卡(银联卡)" , @"绍兴银行·兰花IC借记卡" , @"绍兴银行·社保IC借记卡" , @"绍兴银行·兰花公务卡" , @"成都商业银行·芙蓉锦程福农卡" , @"成都商业银行·芙蓉锦程天府通卡" , @"成都商业银行·锦程卡(银联卡)" , @"成都商业银行·锦程卡金卡" , @"成都商业银行·锦程卡定活一卡通金卡" , @"成都商业银行·锦程卡定活一卡通" , @"成都商业银行·锦程力诚联名卡" , @"成都商业银行·锦程力诚联名卡" , @"成都商业银行·锦程卡(银联卡)" , @"抚顺银行·借记IC卡" , @"临商银行·借记卡" , @"宜昌市商业银行·三峡卡(银联卡)" , @"宜昌市商业银行·信用卡(银联卡)" , @"葫芦岛市商业银行·一通卡" , @"葫芦岛市商业银行·一卡通(银联卡)" , @"天津市商业银行·津卡" , @"天津市商业银行·津卡贷记卡(银联卡)" , @"天津市商业银行·贷记IC卡" , @"天津市商业银行·--" , @"天津银行·商务卡" , @"宁夏银行·宁夏银行公务卡" , @"宁夏银行·宁夏银行福农贷记卡" , @"宁夏银行·如意卡(银联卡)" , @"宁夏银行·宁夏银行福农借记卡" , @"宁夏银行·如意借记卡" , @"宁夏银行·如意IC卡" , @"宁夏银行·宁夏银行如意借记卡" , @"宁夏银行·中国旅游卡" , @"齐商银行·金达卡(银联卡)" , @"齐商银行·金达借记卡(银联卡)" , @"齐商银行·金达IC卡" , @"徽商银行·黄山卡" , @"徽商银行·黄山卡" , @"徽商银行·借记卡" , @"徽商银行·徽商银行中国旅游卡(安徽)" , @"徽商银行合肥分行·黄山卡" , @"徽商银行芜湖分行·黄山卡(银联卡)" , @"徽商银行马鞍山分行·黄山卡(银联卡)" , @"徽商银行淮北分行·黄山卡(银联卡)" , @"徽商银行安庆分行·黄山卡(银联卡)" , @"重庆银行·长江卡(银联卡)" , @"重庆银行·长江卡(银联卡)" , @"重庆银行·长江卡" , @"重庆银行·借记IC卡" , @"哈尔滨银行·丁香一卡通(银联卡)" , @"哈尔滨银行·丁香借记卡(银联卡)" , @"哈尔滨银行·丁香卡" , @"哈尔滨银行·福农借记卡" , @"无锡市商业银行·太湖金保卡(银联卡)" , @"丹东银行·借记IC卡" , @"丹东银行·丹东银行公务卡" , @"兰州银行·敦煌卡" , @"南昌银行·金瑞卡(银联卡)" , @"南昌银行·南昌银行借记卡" , @"南昌银行·金瑞卡" , @"晋商银行·晋龙一卡通" , @"晋商银行·晋龙一卡通" , @"晋商银行·晋龙卡(银联卡)" , @"青岛银行·金桥通卡" , @"青岛银行·金桥卡(银联卡)" , @"青岛银行·金桥卡(银联卡)" , @"青岛银行·金桥卡" , @"青岛银行·借记IC卡" , @"吉林银行·雾凇卡(银联卡)" , @"吉林银行·雾凇卡(银联卡)" , @"南通商业银行·金桥卡(银联卡)" , @"南通商业银行·金桥卡(银联卡)" , @"日照银行·黄海卡、财富卡借记卡" , @"鞍山银行·千山卡(银联卡)" , @"鞍山银行·千山卡(银联卡)" , @"鞍山银行·千山卡" , @"青海银行·三江银行卡(银联卡)" , @"青海银行·三江卡" , @"台州银行·大唐贷记卡" , @"台州银行·大唐准贷记卡" , @"台州银行·大唐卡(银联卡)" , @"台州银行·大唐卡" , @"台州银行·借记卡" , @"台州银行·公务卡" , @"泉州银行·海峡银联卡(银联卡)" , @"泉州银行·海峡储蓄卡" , @"泉州银行·海峡银联卡(银联卡)" , @"泉州银行·海峡卡" , @"泉州银行·公务卡" , @"昆明商业银行·春城卡(银联卡)" , @"昆明商业银行·春城卡(银联卡)" , @"昆明商业银行·富滇IC卡(复合卡)" , @"阜新银行·借记IC卡" , @"嘉兴银行·南湖借记卡(银联卡)" , @"廊坊银行·白金卡" , @"廊坊银行·金卡" , @"廊坊银行·银星卡(银联卡)" , @"廊坊银行·龙凤呈祥卡" , @"内蒙古银行·百灵卡(银联卡)" , @"内蒙古银行·成吉思汗卡" , @"湖州市商业银行·百合卡" , @"湖州市商业银行·" , @"沧州银行·狮城卡" , @"南宁市商业银行·桂花卡(银联卡)" , @"包商银行·雄鹰卡(银联卡)" , @"包商银行·包头市商业银行借记卡" , @"包商银行·雄鹰贷记卡" , @"包商银行·包商银行内蒙古自治区公务卡" , @"包商银行·贷记卡" , @"包商银行·借记卡" , @"连云港市商业银行·金猴神通借记卡" , @"威海商业银行·通达卡(银联卡)" , @"威海市商业银行·通达借记IC卡" , @"攀枝花市商业银行·攀枝花卡(银联卡)" , @"攀枝花市商业银行·攀枝花卡" , @"绵阳市商业银行·科技城卡(银联卡)" , @"泸州市商业银行·酒城卡(银联卡)" , @"泸州市商业银行·酒城IC卡" , @"大同市商业银行·云冈卡(银联卡)" , @"三门峡银行·天鹅卡(银联卡)" , @"广东南粤银行·南珠卡(银联卡)" , @"张家口市商业银行·好运IC借记卡" , @"桂林市商业银行·漓江卡(银联卡)" , @"龙江银行·福农借记卡" , @"龙江银行·联名借记卡" , @"龙江银行·福农借记卡" , @"龙江银行·龙江IC卡" , @"龙江银行·社会保障卡" , @"龙江银行·--" , @"江苏长江商业银行·长江卡" , @"徐州市商业银行·彭城借记卡(银联卡)" , @"南充市商业银行·借记IC卡" , @"南充市商业银行·熊猫团团卡" , @"莱商银行·银联标准卡" , @"莱芜银行·金凤卡" , @"莱商银行·借记IC卡" , @"德阳银行·锦程卡定活一卡通" , @"德阳银行·锦程卡定活一卡通金卡" , @"德阳银行·锦程卡定活一卡通" , @"唐山市商业银行·唐山市城通卡" , @"曲靖市商业银行·珠江源卡" , @"曲靖市商业银行·珠江源IC卡" , @"温州银行·金鹿信用卡" , @"温州银行·金鹿信用卡" , @"温州银行·金鹿公务卡" , @"温州银行·贷记IC卡" , @"汉口银行·汉口银行贷记卡" , @"汉口银行·汉口银行贷记卡" , @"汉口银行·九通香港旅游贷记普卡" , @"汉口银行·九通香港旅游贷记金卡" , @"汉口银行·贷记卡" , @"汉口银行·九通公务卡" , @"江苏银行·聚宝借记卡" , @"江苏银行·月季卡" , @"江苏银行·紫金卡" , @"江苏银行·绿扬卡(银联卡)" , @"江苏银行·月季卡(银联卡)" , @"江苏银行·九州借记卡(银联卡)" , @"江苏银行·月季卡(银联卡)" , @"江苏银行·聚宝惠民福农卡" , @"江苏银行·江苏银行聚宝IC借记卡" , @"江苏银行·聚宝IC借记卡VIP卡" , @"长治市商业银行·长治商行银联晋龙卡" , @"承德市商业银行·热河卡" , @"承德银行·借记IC卡" , @"德州银行·长河借记卡" , @"德州银行·--" , @"遵义市商业银行·社保卡" , @"遵义市商业银行·尊卡" , @"邯郸市商业银行·邯银卡" , @"邯郸市商业银行·邯郸银行贵宾IC借记卡" , @"安顺市商业银行·黄果树福农卡" , @"安顺市商业银行·黄果树借记卡" , @"江苏银行·紫金信用卡(公务卡)" , @"江苏银行·紫金信用卡" , @"江苏银行·天翼联名信用卡" , @"平凉市商业银行·广成卡" , @"玉溪市商业银行·红塔卡" , @"玉溪市商业银行·红塔卡" , @"浙江民泰商业银行·金融IC卡" , @"浙江民泰商业银行·民泰借记卡" , @"浙江民泰商业银行·金融IC卡C卡" , @"浙江民泰商业银行·银联标准普卡金卡" , @"浙江民泰商业银行·商惠通" , @"上饶市商业银行·三清山卡" , @"东营银行·胜利卡" , @"泰安市商业银行·岱宗卡" , @"泰安市商业银行·市民一卡通" , @"浙江稠州商业银行·义卡" , @"浙江稠州商业银行·义卡借记IC卡" , @"浙江稠州商业银行·公务卡" , @"自贡市商业银行·借记IC卡" , @"自贡市商业银行·锦程卡" , @"鄂尔多斯银行·天骄公务卡" , @"鹤壁银行·鹤卡" , @"许昌银行·连城卡" , @"铁岭银行·龙凤卡" , @"乐山市商业银行·大福卡" , @"乐山市商业银行·--" , @"长安银行·长长卡" , @"长安银行·借记IC卡" , @"重庆三峡银行·财富人生卡" , @"重庆三峡银行·借记卡" , @"石嘴山银行·麒麟借记卡" , @"石嘴山银行·麒麟借记卡" , @"石嘴山银行·麒麟公务卡" , @"盘锦市商业银行·鹤卡" , @"盘锦市商业银行·盘锦市商业银行鹤卡" , @"平顶山银行·平顶山银行公务卡" , @"朝阳银行·鑫鑫通卡" , @"朝阳银行·朝阳银行福农卡" , @"朝阳银行·红山卡" , @"宁波东海银行·绿叶卡" , @"遂宁市商业银行·锦程卡" , @"遂宁是商业银行·金荷卡" , @"保定银行·直隶卡" , @"保定银行·直隶卡" , @"凉山州商业银行·锦程卡" , @"凉山州商业银行·金凉山卡" , @"漯河银行·福卡" , @"漯河银行·福源卡" , @"漯河银行·福源公务卡" , @"达州市商业银行·锦程卡" , @"新乡市商业银行·新卡" , @"晋中银行·九州方圆借记卡" , @"晋中银行·九州方圆卡" , @"驻马店银行·驿站卡" , @"驻马店银行·驿站卡" , @"驻马店银行·公务卡" , @"衡水银行·金鼎卡" , @"衡水银行·借记IC卡" , @"周口银行·如愿卡" , @"周口银行·公务卡" , @"阳泉市商业银行·金鼎卡" , @"阳泉市商业银行·金鼎卡" , @"宜宾市商业银行·锦程卡" , @"宜宾市商业银行·借记IC卡" , @"库尔勒市商业银行·孔雀胡杨卡" , @"雅安市商业银行·锦城卡" , @"雅安市商业银行·--" , @"安阳银行·安鼎卡" , @"信阳银行·信阳卡" , @"信阳银行·公务卡" , @"信阳银行·信阳卡" , @"华融湘江银行·华融卡" , @"华融湘江银行·华融卡" , @"营口沿海银行·祥云借记卡" , @"景德镇商业银行·瓷都卡" , @"哈密市商业银行·瓜香借记卡" , @"湖北银行·金牛卡" , @"湖北银行·汉江卡" , @"湖北银行·借记卡" , @"湖北银行·三峡卡" , @"湖北银行·至尊卡" , @"湖北银行·金融IC卡" , @"西藏银行·借记IC卡" , @"新疆汇和银行·汇和卡" , @"广东华兴银行·借记卡" , @"广东华兴银行·华兴银联公司卡" , @"广东华兴银行·华兴联名IC卡" , @"广东华兴银行·华兴金融IC借记卡" , @"濮阳银行·龙翔卡" , @"宁波通商银行·借记卡" , @"甘肃银行·神舟兴陇借记卡" , @"甘肃银行·甘肃银行神州兴陇IC卡" , @"枣庄银行·借记IC卡" , @"本溪市商业银行·借记卡" , @"盛京银行·医保卡" , @"上海农商银行·如意卡(银联卡)" , @"上海农商银行·如意卡(银联卡)" , @"上海农商银行·鑫通卡" , @"上海农商银行·国际如意卡" , @"上海农商银行·借记IC卡" , @"常熟市农村商业银行·粒金贷记卡(银联卡)" , @"常熟市农村商业银行·公务卡" , @"常熟市农村商业银行·粒金准贷卡" , @"常熟农村商业银行·粒金借记卡(银联卡)" , @"常熟农村商业银行·粒金IC卡" , @"常熟农村商业银行·粒金卡" , @"深圳农村商业银行·信通卡(银联卡)" , @"深圳农村商业银行·信通商务卡(银联卡)" , @"深圳农村商业银行·信通卡" , @"深圳农村商业银行·信通商务卡" , @"广州农村商业银行·福农太阳卡" , @"广东南海农村商业银行·盛通卡" , @"广东南海农村商业银行·盛通卡(银联卡)" , @"佛山顺德农村商业银行·恒通卡(银联卡)" , @"佛山顺德农村商业银行·恒通卡" , @"佛山顺德农村商业银行·恒通卡(银联卡)" , @"江阴农村商业银行·暨阳公务卡" , @"江阴市农村商业银行·合作贷记卡(银联卡)" , @"江阴农村商业银行·合作借记卡" , @"江阴农村商业银行·合作卡(银联卡)" , @"江阴农村商业银行·暨阳卡" , @"重庆农村商业银行·江渝借记卡VIP卡" , @"重庆农村商业银行·江渝IC借记卡" , @"重庆农村商业银行·江渝乡情福农卡" , @"东莞农村商业银行·信通卡(银联卡)" , @"东莞农村商业银行·信通卡(银联卡)" , @"东莞农村商业银行·信通信用卡" , @"东莞农村商业银行·信通借记卡" , @"东莞农村商业银行·贷记IC卡" , @"张家港农村商业银行·一卡通(银联卡)" , @"张家港农村商业银行·一卡通(银联卡)" , @"张家港农村商业银行·" , @"北京农村商业银行·信通卡" , @"北京农村商业银行·惠通卡" , @"北京农村商业银行·凤凰福农卡" , @"北京农村商业银行·惠通卡" , @"北京农村商业银行·中国旅行卡" , @"北京农村商业银行·凤凰卡" , @"天津农村商业银行·吉祥商联IC卡" , @"天津农村商业银行·信通借记卡(银联卡)" , @"天津农村商业银行·借记IC卡",
@"鄞州农村合作银行·蜜蜂借记卡(银联卡)" , @"宁波鄞州农村合作银行·蜜蜂电子钱包(IC)" , @"宁波鄞州农村合作银行·蜜蜂IC借记卡" , @"宁波鄞州农村合作银行·蜜蜂贷记IC卡" , @"宁波鄞州农村合作银行·蜜蜂贷记卡",
@"宁波鄞州农村合作银行·公务卡" , @"成都农村商业银行·福农卡" , @"成都农村商业银行·福农卡" , @"珠海农村商业银行·信通卡(银联卡)" , @"太仓农村商业银行·郑和卡(银联卡)" , @"太仓农村商业银行·郑和IC借记卡" , @"无锡农村商业银行·金阿福" , @"无锡农村商业银行·借记IC卡" , @"黄河农村商业银行·黄河卡" , @"黄河农村商业银行·黄河富农卡福农卡" , @"黄河农村商业银行·借记IC卡" , @"天津滨海农村商业银行·四海通卡",
@"天津滨海农村商业银行·四海通e芯卡" , @"武汉农村商业银行·汉卡" , @"武汉农村商业银行·汉卡" , @"武汉农村商业银行·中国旅游卡" , @"江南农村商业银行·阳湖卡(银联卡)" , @"江南农村商业银行·天天红火卡",
@"江南农村商业银行·借记IC卡" , @"海口联合农村商业银行·海口联合农村商业银行合卡" , @"湖北嘉鱼吴江村镇银行·垂虹卡" , @"福建建瓯石狮村镇银行·玉竹卡" , @"浙江平湖工银村镇银行·金平卡" , @"重庆璧山工银村镇银行·翡翠卡",
@"重庆农村商业银行·银联标准贷记卡" , @"重庆农村商业银行·公务卡" , @"南阳村镇银行·玉都卡" , @"晋中市榆次融信村镇银行·魏榆卡" , @"三水珠江村镇银行·珠江太阳卡" , @"东营莱商村镇银行·绿洲卡" , @"建设银行·单位结算卡" , @"玉溪市商业银行·红塔卡" ];
//BIN号
NSArray* bankBin = @[
@"621098", @"622150", @"622151", @"622181", @"622188", @"955100", @"621095", @"620062", @"621285", @"621798", @"621799",
@"621797", @"620529", @"622199", @"621096", @"621622", @"623219", @"621674", @"623218", @"621599",@"370246", @"370248",
@"370249", @"427010", @"427018", @"427019", @"427020", @"427029", @"427030", @"427039", @"370247", @"438125", @"438126",
@"451804",@"451810", @"451811", @"458071", @"489734", @"489735", @"489736", @"510529", @"427062", @"524091", @"427064",
@"530970", @"530990", @"558360", @"620200", @"620302", @"620402", @"620403" , @"620404", @"524047" , @"620406" , @"620407",
@"525498" , @"620409" , @"620410" , @"620411" ,@"620412" ,@"620502", @"620503", @"620405", @"620408", @"620512", @"620602",
@"620604", @"620607", @"620611", @"620612", @"620704", @"620706", @"620707", @"620708", @"620709", @"620710", @"620609", @"620712" , @"620713" , @"620714" , @"620802" , @"620711" , @"620904" , @"620905" , @"621001" , @"620902" , @"621103" , @"621105" , @"621106" , @"621107" , @"621102" , @"621203" , @"621204" , @"621205" , @"621206" , @"621207" , @"621208" , @"621209" , @"621210" , @"621302" , @"621303" , @"621202" , @"621305" , @"621306" , @"621307" , @"621309" , @"621311" , @"621313" , @"621211" , @"621315" , @"621304" , @"621402" , @"621404" , @"621405" , @"621406" , @"621407" , @"621408" , @"621409" , @"621410" , @"621502" , @"621317" , @"621511" , @"621602" , @"621603" , @"621604" , @"621605" , @"621608" , @"621609" , @"621610" , @"621611" , @"621612" , @"621613" , @"621614" , @"621615" , @"621616" , @"621617" , @"621607" , @"621606" , @"621804" , @"621807" , @"621813" , @"621814" , @"621817" , @"621901" , @"621904" , @"621905" , @"621906" , @"621907" , @"621908" , @"621909" , @"621910" , @"621911" , @"621912" , @"621913" , @"621915" , @"622002" , @"621903" , @"622004" , @"622005" , @"622006" , @"622007" , @"622008" , @"622010" , @"622011" , @"622012" , @"621914" , @"622015" , @"622016" , @"622003" , @"622018" , @"622019" , @"622020" , @"622102" , @"622103" , @"622104" , @"622105" , @"622013" , @"622111" , @"622114" , @"622200" , @"622017" , @"622202" , @"622203" , @"622208" , @"622210" , @"622211" , @"622212" , @"622213" , @"622214" , @"622110" , @"622220" , @"622223" , @"622225" , @"622229" , @"622230" , @"622231" , @"622232" , @"622233" , @"622234" , @"622235" , @"622237" , @"622215" , @"622239" , @"622240" , @"622245" , @"622224" , @"622303" , @"622304" , @"622305" , @"622306" , @"622307" , @"622308" , @"622309" , @"622238" , @"622314" , @"622315" , @"622317" , @"622302" , @"622402" , @"622403" , @"622404" , @"622313" , @"622504" , @"622505" , @"622509" , @"622513" , @"622517" , @"622502" , @"622604" , @"622605" , @"622606" , @"622510" , @"622703" , @"622715" , @"622806" , @"622902" , @"622903" , @"622706" , @"623002" , @"623006" , @"623008" , @"623011" , @"623012" , @"622904" , @"623015" , @"623100" , @"623202" , @"623301" , @"623400" , @"623500" , @"623602" , @"623803" , @"623901" , @"623014" , @"624100" , @"624200" , @"624301" , @"624402" , @"62451804" , @"62451810" , @"62451811" , @"62458071" , @"623700" , @"628288" , @"624000" , @"628286" , @"622206" , @"621225" , @"526836" , @"513685" , @"543098" , @"458441" , @"620058" , @"621281" , @"622246" , @"900000" , @"544210" , @"548943" , @"370267" , @"621558" , @"621559" , @"621722" , @"621723" , @"620086" , @"621226" , @"402791" , @"427028" , @"427038" , @"548259" , @"356879" , @"356880" , @"356881" , @"356882" , @"528856" , @"621618" , @"620516" , @"621227" , @"621721" , @"900010" , @"625330" , @"625331" , @"625332" , @"623062" , @"622236" , @"621670" , @"524374" , @"550213" , @"374738" , @"374739" , @"621288" , @"625708" , @"625709" , @"622597" , @"622599" , @"360883" , @"360884" , @"625865" , @"625866" , @"625899" , @"621376" , @"620054" , @"620142" , @"621428" , @"625939" , @"621434" , @"625987" , @"621761" , @"621749" , @"620184" , @"621300" , @"621378" , @"625114" , @"622159" , @"621720" , @"625021" , @"625022" , @"621379" , @"620114" , @"620146" , @"621724" , @"625918" , @"621371" , @"620143" , @"620149" , @"621414" , @"625914" , @"621375" , @"620187" , @"621433" , @"625986" , @"621370" , @"625925" , @"622926" , @"622927" , @"622928" , @"622929" , @"622930" , @"622931" , @"620124" , @"620183" , @"620561" , @"625116" , @"622227" , @"621372" , @"621464" , @"625942" , @"622158" , @"625917" , @"621765" , @"620094" , @"620186" , @"621719" , @"621719" , @"621750" , @"621377" , @"620148" , @"620185" , @"621374" , @"621731" , @"621781" , @"552599" , @"623206" , @"621671" , @"620059" , @"403361" , @"404117" , @"404118" , @"404119" , @"404120" , @"404121" , @"463758" , @"514027" , @"519412" , @"519413" , @"520082" , @"520083" , @"558730" , @"621282" , @"621336" , @"621619" , @"622821" , @"622822" , @"622823" , @"622824" , @"622825" , @"622826" , @"622827" , @"622828" , @"622836" , @"622837" , @"622840" , @"622841" , @"622843" , @"622844" , @"622845" , @"622846" , @"622847" , @"622848" , @"622849" , @"623018" , @"625996" , @"625997" , @"625998" , @"628268" , @"625826" , @"625827" , @"548478" , @"544243" , @"622820" , @"622830" , @"622838" , @"625336" , @"628269" , @"620501" , @"621660" , @"621661" , @"621662" , @"621663" , @"621665" , @"621667" , @"621668" , @"621669" , @"621666" , @"625908" , @"625910" , @"625909" , @"356833" , @"356835" , @"409665" , @"409666" , @"409668" , @"409669" , @"409670" , @"409671" , @"409672" , @"456351" , @"512315" , @"512316" , @"512411" , @"512412" , @"514957" , @"409667" , @"518378" , @"518379" , @"518474" , @"518475" , @"518476" , @"438088" , @"524865" , @"525745" , @"525746" , @"547766" , @"552742" , @"553131" , @"558868" , @"514958" , @"622752" , @"622753" , @"622755" , @"524864" , @"622757" , @"622758" , @"622759" , @"622760" , @"622761" , @"622762" , @"622763" , @"601382" , @"622756" , @"628388" , @"621256" , @"621212" , @"620514" , @"622754" , @"622764" , @"518377" , @"622765" , @"622788" , @"621283" , @"620061" , @"621725" , @"620040" , @"558869" , @"621330" , @"621331" , @"621332" , @"621333" , @"621297" , @"377677" , @"621568" , @"621569" , @"625905" , @"625906" , @"625907" , @"628313" , @"625333" , @"628312" , @"623208" , @"621620" , @"621756" , @"621757" , @"621758" , @"621759" , @"621785" , @"621786" , @"621787" , @"621788" , @"621789" , @"621790" , @"621672" , @"625337" , @"625338" , @"625568" , @"621648" , @"621248" , @"621249" , @"622750" , @"622751" , @"622771" , @"622772" , @"622770" , @"625145" , @"620531" , @"620210" , @"620211" , @"622479" , @"622480" , @"622273" , @"622274" , @"621231" , @"621638" , @"621334" , @"625140" , @"621395" , @"622725" , @"622728" , @"621284" , @"421349" , @"434061" , @"434062" , @"436728" , @"436742" , @"453242" , @"491031" , @"524094" , @"526410" , @"544033" , @"552245" , @"589970" , @"620060" , @"621080" , @"621081" , @"621466" , @"621467" , @"621488" , @"621499" , @"621598" , @"621621" , @"621700" , @"622280" , @"622700" , @"622707" , @"622966" , @"622988" , @"625955" , @"625956" , @"553242" , @"621082" , @"621673" , @"623211" , @"356896" , @"356899" , @"356895" , @"436718" , @"436738" , @"436745" , @"436748" , @"489592" , @"531693" , @"532450" , @"532458" , @"544887" , @"552801" , @"557080" , @"558895" , @"559051" , @"622166" , @"622168" , @"622708" , @"625964" , @"625965" , @"625966" , @"628266" , @"628366" , @"625362" , @"625363" , @"628316" , @"628317" , @"620021" , @"620521" , @"405512" , @"601428" , @"405512" , @"434910" , @"458123" , @"458124" , @"520169" , @"522964" , @"552853" , @"601428" , @"622250" , @"622251" , @"521899" , @"622254" , @"622255" , @"622256" , @"622257" , @"622258" , @"622259" , @"622253" , @"622261" , @"622284" , @"622656" , @"628216" , @"622252" , @"66405512" , @"622260" , @"66601428" , @"955590" , @"955591" , @"955592" , @"955593" , @"628218" , @"622262" , @"621069" , @"620013" , @"625028" , @"625029" , @"621436" , @"621002" , @"621335" , @"433670" , @"433680" , @"442729" , @"442730" , @"620082" , @"622690" , @"622691" , @"622692" , @"622696" , @"622698" , @"622998" , @"622999" , @"433671" , @"968807" , @"968808" , @"968809" , @"621771" , @"621767" , @"621768" , @"621770" , @"621772" , @"621773" , @"620527" , @"356837" , @"356838" , @"486497" , @"622660" , @"622662" , @"622663" , @"622664" , @"622665" , @"622666" , @"622667" , @"622669" , @"622670" , @"622671" , @"622672" , @"622668" , @"622661" , @"622674" , @"622673" , @"620518" , @"621489" , @"621492" , @"620535" , @"623156" , @"621490" , @"621491" , @"620085" , @"623155" , @"623157" , @"623158" , @"623159" , @"999999" , @"621222" , @"623020" , @"623021" , @"623022" , @"623023" , @"622630" , @"622631" , @"622632" , @"622633" , @"622615" , @"622616" , @"622618" , @"622622" , @"622617" , @"622619" , @"415599" , @"421393" , @"421865" , @"427570" , @"427571" , @"472067" , @"472068" , @"622620" , @"621691" , @"545392" , @"545393" , @"545431" , @"545447" , @"356859" , @"356857" , @"407405" , @"421869" , @"421870" , @"421871" , @"512466" , @"356856" , @"528948" , @"552288" , @"622600" , @"622601" , @"622602" , @"517636" , @"622621" , @"628258" , @"556610" , @"622603" , @"464580" , @"464581" , @"523952" , @"545217" , @"553161" , @"356858" , @"622623" , @"625911" , @"377152" , @"377153" , @"377158" , @"377155" , @"625912" , @"625913" , @"356885" , @"356886" , @"356887" , @"356888" , @"356890" , @"402658" , @"410062" , @"439188" , @"439227" , @"468203" , @"479228" , @"479229" , @"512425" , @"521302" , @"524011" , @"356889" , @"545620" , @"545621" , @"545947" , @"545948" , @"552534" , @"552587" , @"622575" , @"622576" , @"622577" , @"622579" , @"622580" , @"545619" , @"622581" , @"622582" , @"622588" , @"622598" , @"622609" , @"690755" , @"690755" , @"545623" , @"621286" , @"620520" , @"621483" , @"621485" , @"621486" , @"628290" , @"622578" , @"370285" , @"370286" , @"370287" , @"370289" , @"439225" , @"518710" , @"518718" , @"628362" , @"439226" , @"628262" , @"625802" , @"625803" , @"621299" , @"966666" , @"622909" , @"622908" , @"438588" , @"438589" , @"461982" , @"486493" , @"486494" , @"486861" , @"523036" , @"451289" , @"527414" , @"528057" , @"622901" , @"622902" , @"622922" , @"628212" , @"451290" , @"524070" , @"625084" , @"625085" , @"625086" , @"625087" , @"548738" , @"549633" , @"552398" , @"625082" , @"625083" , @"625960" , @"625961" , @"625962" , @"625963" , @"356851" , @"356852" , @"404738" , @"404739" , @"456418" , @"498451" , @"515672" , @"356850" , @"517650" , @"525998" , @"622177" , @"622277" , @"622516" , @"622517" , @"622518" , @"622520" , @"622521" , @"622522" , @"622523" , @"628222" , @"628221" , @"984301" , @"984303" , @"622176" , @"622276" , @"622228" , @"621352" , @"621351" , @"621390" , @"621792" , @"625957" , @"625958" , @"621791" , @"620530" , @"625993" , @"622519" , @"621793" , @"621795" , @"621796" , @"622500" , @"623078" , @"622384" , @"940034" , @"940015" , @"622886" , @"622391" , @"940072" , @"622359" , @"940066" , @"622857" , @"940065" , @"621019" , @"622309" , @"621268" , @"622884" , @"621453" , @"622684" , @"621016" , @"621015" , @"622950" , @"622951" , @"621072" , @"623183" , @"623185" , @"621005" , @"622172" , @"622985" , @"622987" , @"622267" , @"622278" , @"622279" , @"622468" , @"622892" , @"940021" , @"621050" , @"620522" , @"356827" , @"356828" , @"356830" , @"402673" , @"402674" , @"438600" , @"486466" , @"519498" , @"520131" , @"524031" , @"548838" , @"622148" , @"622149" , @"622268" , @"356829" , @"622300" , @"628230" , @"622269" , @"625099" , @"625953" , @"625350" , @"625351" , @"625352" , @"519961" , @"625839" , @"421317" , @"602969" , @"621030" , @"621420" , @"621468" , @"623111" , @"422160" , @"422161" , @"622865" , @"940012" , @"623131" , @"622178" , @"622179" , @"628358" , @"622394" , @"940025" , @"621279" , @"622281" , @"622316" , @"940022" , @"621418" , @"512431" , @"520194" , @"621626" , @"623058" , @"602907" , @"622986" , @"622989" , @"622298" , @"622338" , @"940032" , @"623205" , @"621977" , @"990027" , @"622325" , @"623029" , @"623105" , @"621244" , @"623081" , @"623108" , @"566666" , @"622455" , @"940039" , @"622466" , @"628285" , @"622420" , @"940041" , @"623118" , @"603708" , @"622993" , @"623070" , @"623069" , @"623172" , @"623173" , @"622383" , @"622385" , @"628299" , @"603506" , @"603367" , @"622878" , @"623061" , @"623209" , @"628242" , @"622595" , @"622303" , @"622305" , @"621259" , @"622596" , @"622333" , @"940050" , @"621439" , @"623010" , @"621751" , @"628278" , @"625502" , @"625503" , @"625135" , @"622476" , @"621754" , @"622143" , @"940001" , @"623026" , @"623086" , @"628291" , @"621532" , @"621482" , @"622135" , @"622152" , @"622153" , @"622154" , @"622996" , @"622997" , @"940027" , @"623099" , @"623007" , @"940055" , @"622397" , @"622398" , @"940054" , @"622331" , @"622426" , @"625995" , @"621452" , @"628205" , @"628214" , @"625529" , @"622428" , @"621529" , @"622429" , @"621417" , @"623089" , @"623200" , @"940057" , @"622311" , @"623119" , @"622877" , @"622879" , @"621775" , @"623203" , @"603601" , @"622137" , @"622327" , @"622340" , @"622366" , @"622134" , @"940018" , @"623016" , @"623096" , @"940049" , @"622425" , @"622425" , @"621577" , @"622485" , @"623098" , @"628329" , @"621538" , @"940006" , @"621269" , @"622275" , @"621216" , @"622465" , @"940031" , @"621252" , @"622146" , @"940061" , @"621419" , @"623170" , @"622440" , @"940047" , @"940017" , @"622418" , @"623077" , @"622413" , @"940002" , @"623188" , @"622310" , @"940068" , @"622321" , @"625001" , @"622427" , @"940069" , @"623039" , @"628273" , @"622370" , @"683970" , @"940074" , @"621437" , @"628319" , @"990871" , @"622308" , @"621415" , @"623166" , @"622132" , @"621340" , @"621341" , @"622140" , @"623073" , @"622147" , @"621633" , @"622301" , @"623171" , @"621422" , @"622335" , @"622336" , @"622165" , @"622315" , @"628295" , @"625950" , @"621760" , @"622337" , @"622411" , @"623102" , @"622342" , @"623048" , @"622367" , @"622392" , @"623085" , @"622395" , @"622441" , @"622448" , @"621413" , @"622856" , @"621037" , @"621097" , @"621588" , @"623032" , @"622644" , @"623518" , @"622870" , @"622866" , @"623072" , @"622897" , @"628279" , @"622864" , @"621403" , @"622561" , @"622562" , @"622563" , @"622167" , @"622777" , @"621497" , @"622868" , @"622899" , @"628255" , @"625988" , @"622566" , @"622567" , @"622625" , @"622626" , @"625946" , @"628200" , @"621076" , @"504923" , @"622173" , @"622422" , @"622447" , @"622131" , @"940076" , @"621579" , @"622876" , @"622873" , @"622962" , @"622936" , @"623060" , @"622937" , @"623101" , @"621460" , @"622939" , @"622960" , @"623523" , @"621591" , @"622961" , @"628210" , @"622283" , @"625902" , @"621010" , @"622980" , @"623135" , @"621726" , @"621088" , @"620517" , @"622740" , @"625036" , @"621014" , @"621004" , @"622972" , @"623196" , @"621028" , @"623083" , @"628250" , @"623121" , @"621070" , @"628253" , @"622979" , @"621035" , @"621038" , @"621086" , @"621498" , @"621296" , @"621448" , @"622945" , @"621755" , @"622940" , @"623120" , @"628355" , @"621089" , @"623161" , @"628339" , @"621074" , @"621515" , @"623030" , @"621345" , @"621090" , @"623178" , @"621091" , @"623168" , @"621057" , @"623199" , @"621075" , @"623037" , @"628303" , @"621233" , @"621235" , @"621223" , @"621780" , @"621221" , @"623138" , @"628389" , @"621239" , @"623068" , @"621271" , @"628315" , @"621272" , @"621738" , @"621273" , @"623079" , @"621263" , @"621325" , @"623084" , @"621327" , @"621753" , @"628331" , @"623160" , @"621366" , @"621388" , @"621348" , @"621359" , @"621360" , @"621217" , @"622959" , @"621270" , @"622396" , @"622511" , @"623076" , @"621391" , @"621339" , @"621469" , @"621625" , @"623688" , @"623113" , @"621601" , @"621655" , @"621636" , @"623182" , @"623087" , @"621696" , @"622955" , @"622478" , @"940013" , @"621495" , @"621688" , @"623162" , @"622462" , @"628272" , @"625101" , @"622323" , @"623071" , @"603694" , @"622128" , @"622129" , @"623035" , @"623186" , @"621522" , @"622271" , @"940037" , @"940038" , @"985262" , @"622322" , @"628381" , @"622481" , @"622341" , @"940058" , @"623115" , @"621258" , @"621465" , @"621528" , @"622328" , @"940062" , @"625288" , @"623038" , @"625888" , @"622332" , @"940063" , @"623123" , @"622138" , @"621066" , @"621560" , @"621068" , @"620088" , @"621067" , @"622531" , @"622329" , @"623103" , @"622339" , @"620500" , @"621024" , @"622289" , @"622389" , @"628300" , @"625516" , @"621516" , @"622859" , @"622869" , @"623075" , @"622895" , @"623125" , @"622947" , @"621561" , @"623095" , @"621073" , @"623109" , @"621361" , @"623033" , @"623207" , @"622891" , @"621363" , @"623189" , @"623510" , @"622995" , @"621053" , @"621230" , @"621229" , @"622218" , @"628267" , @"621392" , @"621481" , @"621310" , @"621396" , @"623251" , @"628351"];
int index = -1;
if(idCard==nil || idCard.length<16 || idCard.length>19){
return @"";
}
//6位Bin号
NSString* cardbin_6 = [idCard substringWithRange:NSMakeRange(0, 6)];
for (int i = 0; i < bankBin.count; i++) {
if ([cardbin_6 isEqualToString:bankBin[i]]) {
index = i;
}
}
if (index != -1) {
return bankName[index];
}
//8位Bin号
NSString* cardbin_8 = [idCard substringWithRange:NSMakeRange(0, 8)];
for (int i = 0; i < bankBin.count; i++) {
if ([cardbin_8 isEqualToString:bankBin[i]]) {
index = i;
}
}
if (index != -1) {
return bankName[index];
}
return @"";
}
//正则判断手机号码格式
+ (BOOL)validatePhone:(NSString *)phone
{
/**
* 手机号码
* 移动:134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188
* 联通:130,131,132,152,155,156,185,186
* 电信:133,1349,153,180,189
*/
NSString * MOBILE = @"^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$";
/**
10 * 中国移动:China Mobile
11 * 134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188
12 */
NSString * CM = @"^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\\d)\\d{7}$";
/**
15 * 中国联通:China Unicom
16 * 130,131,132,152,155,156,185,186
17 */
NSString * CU = @"^1(3[0-2]|5[256]|8[56])\\d{8}$";
/**
20 * 中国电信:China Telecom
21 * 133,1349,153,180,189
22 */
NSString * CT = @"^1((33|53|8[09])[0-9]|349)\\d{7}$";
/**
25 * 大陆地区固话及小灵通
26 * 区号:010,020,021,022,023,024,025,027,028,029
27 * 号码:七位或八位
28 */
// NSString * PHS = @"^0(10|2[0-5789]|\\d{3})\\d{7,8}$";
NSPredicate *regextestmobile = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", MOBILE];
NSPredicate *regextestcm = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CM];
NSPredicate *regextestcu = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CU];
NSPredicate *regextestct = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CT];
if (([regextestmobile evaluateWithObject:phone] == YES)
|| ([regextestcm evaluateWithObject:phone] == YES)
|| ([regextestct evaluateWithObject:phone] == YES)
|| ([regextestcu evaluateWithObject:phone] == YES))
{
return YES;
}
else
{
return NO;
}
}
//验证字符是否为数字
+(BOOL)isPureInt:(NSString *)string{
NSScanner* scan = [NSScanner scannerWithString:string];
int val;
return [scan scanInt:&val] && [scan isAtEnd];
}
@end
......@@ -25,6 +25,9 @@
self.navigationItem.leftBarButtonItem = leftBtn;
[self.navigationController.navigationBar setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIFont systemFontOfSize:21],NSFontAttributeName, [UIColor colorWithHexString:@"333333"], NSForegroundColorAttributeName,nil]];
self.automaticallyAdjustsScrollViewInsets = NO;
// Do any additional setup after loading the view.
}
......@@ -58,7 +61,7 @@
[self.navigationController setNavigationBarHidden:NO animated:YES];
}else if (self.isShowNavigationBar == NO){
[self.navigationController setNavigationBarHidden:YES animated:YES];
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment