您的问题似乎不完整,您是想询问关于C语言编程的某个具体问题吗?比如C语言的语法、编程技巧、项目开发等。请提供更具体的信息,这样我才能给出更准确的回答。

摘要:手撸基于ASCII码表的校验密码方法。
附赠正则表达式
密码规则:包含 数字,大小写,特殊字符^%&',;=?$',长度8~20位。
群聊 群友A问:有没有方法可以判断字符串里面带不带标点符号啊? 群友B问:需求是什么? 群友A说:想要密码校验,网上大部分都是正则。 群友A说:密码规则是包含大小写和数字、特殊符号,还有Length>=8。 我直接在LINQPad手撸基于ASCII码表的校验密码方法发到群里。 该实现逻辑,几乎任何编程语言都通用,可借鉴。 工具类 public static class Utils { public static bool ValidPassword(string password, int minLength = 8, int maxLength = 20) { if (string.IsNullOrEmpty(password) || password.Length < minLength || password.Length > maxLength) { return false; } bool hasLower = false; bool hasUpper = false; bool hasNumber = false; bool hasSymbol = false; foreach (ushort item in password) { if (item < 33 || item > 126) { return false; } if (item >= 48 && item <= 57) { hasNumber = true; continue; } if (item >= 65 && item <= 90) { hasUpper = true; continue; } if (item >= 97 && item <= 122) { hasLower = true; continue; } hasSymbol = true; } return hasLower && hasUpper && hasNumber && hasSymbol; } } 测试代码 class Program { static void Main(params string[] args) { TestValidPassword(); } static void TestValidPassword() { Console.WriteLine(Utils.ValidPassword("Abcd1234.!")); Console.WriteLine(Utils.ValidPassword("abcd1234.")); Console.WriteLine(Utils.ValidPassword("abcd12345")); Console.WriteLine(Utils.ValidPassword("abced!.-/*")); Console.WriteLine(Utils.ValidPassword("Abcd1234我")); } } 附赠正则表达式 密码规则:包含 数字,大小写,特殊字符^%&',;=?$\",长度8~20位。 其中x22是双引号"的转义。 ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^%&',;=?$\x22])[A-Za-z0-9^%&',;=?$\x22]{8,20}$ ASCII码表 ASCII 控制字符 (字符编码: 0-31) 在ASCII码表中,前32个字符是不能用于打印控制的编码,而是用于控制像打印机一样的外围设备。 十进制 DEC 八进制 OCT 十六进制 HEX 二进制 BIN 符号 Symbol HTML实体编码 中文解释 Description 英文解释 Description 0 000 00 00000000 NUL &#000; 空字符 Null char 1 001 01 00000001 SOH &#001; 标题开始 Start of Heading 2 002 02 00000010 STX &#002; 正文开始 Start of Text 3 003 03 00000011 ETX &#003; 正文结束 End of Text 4 004 04 00000100 EOT &#004; 传输结束 End of Transmission 5 005 05 00000101 ENQ &#005; 询问 Enquiry 6 006 06 00000110 ACK &#006; 收到通知 Acknowledgment 7 007 07 00000111 BEL &#007; 铃 Bell 8 010 08 00001000 BS &#008; 退格 Back Space 9 011 09 00001001 HT &#009; 水平制表符 Horizontal Tab 10 012 0A 00001010 LF &#010; 换行键 Line Feed 11 013 0B 00001011 VT &#011; 垂直制表符 Vertical Tab 12 014 0C 00001100 FF &#012; 换页键 Form Feed 13 015 0D 00001101 CR &#013; 回车键 Carriage Return 14 016 0E 00001110 SO &#014; 移出 Shift Out / X-On 15 017 0F 00001111 SI &#015; 移入 Shift In / X-Off 16 020 10 00010000 DLE &#016; 数据链路转义 Data Line Escape 17 021 11 00010001 DC1 &#017; 设备控制 1 Device Control 1 (oft. XON) 18 022 12 00010010 DC2 &#018; 设备控制 2 Device Control 2 19 023 13 00010011 DC3 &#019; 设备控制 3 Device Control 3 (oft. XOFF) 20 024 14 00010100 DC4 &#020; 设备控制 4 Device Control 4 21 025 15 00010101 NAK &#021; 拒绝接收 Negative Acknowledgement 22 026 16 00010110 SYN &#022; 同步空闲 Synchronous Idle 23 027 17 00010111 ETB &#023; 传输块结束 End of Transmit Block 24 030 18 00011000 CAN &#024; 取消 Cancel 25 031 19 00011001 EM &#025; 介质中断 End of Medium 26 032 1A 00011010 SUB &#026; 替换 Substitute 27 033 1B 00011011 ESC &#027; 换码符 Escape 28 034 1C 00011100 FS &#028; 文件分隔符 File Separator 29 035 1D 00011101 GS &#029; 组分隔符 Group Separator 30 036 1E 00011110 RS &#030; 记录分离符 Record Separator 31 037 1F 00011111 US &#031; 单元分隔符 Unit Separator ASCII 打印字符 (字符编码: 32-127) 32~126(共95个)是字符:32是空格,其中48~57为0到9十个阿拉伯数字,65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。第127个字符表示的是键盘上的删除命令。 十进制 DEC 八进制 OCT 十六进制 HEX 二进制 BIN 符号 Symbol HTML实体编码 中文解释 Description 英文解释 Description 32 040 20 00100000 &#032; 空格 Space 33 041 21 00100001 ! &#033; 感叹号 Exclamation mark 34 042 22 00100010 " &#034; 双引号 Double quotes (or speech marks) 35 043 23 00100011 # &#035; 井号 Number 36 044 24 00100100 $ &#036; 美元符 Dollar 37 045 25 00100101 % &#037; 百分号 Per cent sign 38 046 26 00100110 & &#038; 与 Ampersand 39 047 27 00100111 ' &#039; 单引号 Single quote 40 050 28 00101000 ( &#040; 左括号 Open parenthesis (or open bracket) 41 051 29 00101001 ) &#041; 右括号 Close parenthesis (or close bracket) 42 052 2A 00101010 * &#042; 星号 Asterisk 43 053 2B 00101011 + &#043; 加号 Plus 44 054 2C 00101100 , &#044; 逗号 Comma 45 055 2D 00101101 - &#045; 连字号或减号 Hyphen 46 056 2E 00101110 . &#046; 句点或小数点 Period, dot or full stop 47 057 2F 00101111 / &#047; 斜杠 Slash or divide 48 060 30 00110000 0 &#048; 0 Zero 49 061 31 00110001 1 &#049; 1 One 50 062 32 00110010 2 &#050; 2 Two 51 063 33 00110011 3 &#051; 3 Three 52 064 34 00110100 4 &#052; 4 Four 53 065 35 00110101 5 &#053; 5 Five 54 066 36 00110110 6 &#054; 6 Six 55 067 37 00110111 7 &#055; 7 Seven 56 070 38 00111000 8 &#056; 8 Eight 57 071 39 00111001 9 &#057; 9 Nine 58 072 3A 00111010 : &#058; 冒号 Colon 59 073 3B 00111011 ; &#059; 分号 Semicolon 60 074 3C 00111100 < &#060; 小于 Less than (or open angled bracket) 61 075 3D 00111101 = &#061; 等号 Equals 62 076 3E 00111110 > &#062; 大于 Greater than (or close angled bracket) 63 077 3F 00111111 ? &#063; 问号 Question mark 64 100 40 01000000 @ &#064; 电子邮件符号 At symbol 65 101 41 01000001 A &#065; 大写字母 A Uppercase A 66 102 42 01000010 B &#066; 大写字母 B Uppercase B 67 103 43 01000011 C &#067; 大写字母 C Uppercase C 68 104 44 01000100 D &#068; 大写字母 D Uppercase D 69 105 45 01000101 E &#069; 大写字母 E Uppercase E 70 106 46 01000110 F &#070; 大写字母 F Uppercase F 71 107 47 01000111 G &#071; 大写字母 G Uppercase G 72 110 48 01001000 H &#072; 大写字母 H Uppercase H 73 111 49 01001001 I &#073; 大写字母 I Uppercase I 74 112 4A 01001010 J &#074; 大写字母 J Uppercase J 75 113 4B 01001011 K &#075; 大写字母 K Uppercase K 76 114 4C 01001100 L &#076; 大写字母 L Uppercase L 77 115 4D 01001101 M &#077; 大写字母 M Uppercase M 78 116 4E 01001110 N &#078; 大写字母 N Uppercase N 79 117 4F 01001111 O &#079; 大写字母 O Uppercase O 80 120 50 01010000 P &#080; 大写字母 P Uppercase P 81 121 51 01010001 Q &#081; 大写字母 Q Uppercase Q 82 122 52 01010010 R &#082; 大写字母 R Uppercase R 83 123 53 01010011 S &#083; 大写字母 S Uppercase S 84 124 54 01010100 T &#084; 大写字母 T Uppercase T 85 125 55 01010101 U &#085; 大写字母 U Uppercase U 86 126 56 01010110 V &#086; 大写字母 V Uppercase V 87 127 57 01010111 W &#087 大写字母 W Uppercase W 88 130 58 01011000 X &#088; 大写字母 X Uppercase X 89 131 59 01011001 Y &#089; 大写字母 Y Uppercase Y 90 132 5A 01011010 Z &#090; 大写字母 Z Uppercase Z 91 133 5B 01011011 [ &#091; 左中括号 Opening bracket 92 134 5C 01011100 &#092; 反斜杠 Backslash 93 135 5D 01011101 ] &#093; 右中括号 Closing bracket 94 136 5E 01011110 ^ &#094; 音调符号 Caret - circumflex 95 137 5F 01011111 _ &#095; 下划线 Underscore 96 140 60 01100000 ` &#096; 重音符 Grave accent 97 141 61 01100001 a &#097; 小写字母 a Lowercase a 98 142 62 01100010 b &#098; 小写字母 b Lowercase b 99 143 63 01100011 c &#099; 小写字母 c Lowercase c 100 144 64 01100100 d &#100; 小写字母 d Lowercase d 101 145 65 01100101 e &#101; 小写字母 e Lowercase e 102 146 66 01100110 f &#102; 小写字母 f Lowercase f 103 147 67 01100111 g &#103; 小写字母 g Lowercase g 104 150 68 01101000 h &#104; 小写字母 h Lowercase h 105 151 69 01101001 i &#105; 小写字母 i Lowercase i 106 152 6A 01101010 j &#106; 小写字母 j Lowercase j 107 153 6B 01101011 k &#107; 小写字母 k Lowercase k 108 154 6C 01101100 l &#108; 小写字母 l Lowercase l 109 155 6D 01101101 m &#109; 小写字母 m Lowercase m 110 156 6E 01101110 n &#110; 小写字母 n Lowercase n 111 157 6F 01101111 o &#111; 小写字母 o Lowercase o 112 160 70 01110000 p &#112; 小写字母 p Lowercase p 113 161 71 01110001 q &#113; 小写字母 q Lowercase q 114 162 72 01110010 r &#114; 小写字母 r Lowercase r 115 163 73 01110011 s &#115; 小写字母 s Lowercase s 116 164 74 01110100 t &#116; 小写字母 t Lowercase t 117 165 75 01110101 u &#117; 小写字母 u Lowercase u 118 166 76 01110110 v &#118; 小写字母 v Lowercase v 119 167 77 01110111 w &#119; 小写字母 w Lowercase w 120 170 78 01111000 x &#120; 小写字母 x Lowercase x 121 171 79 01111001 y &#121; 小写字母 y Lowercase y 122 172 7A 01111010 z &#122; 小写字母 z Lowercase z 123 173 7B 01111011 { &#123; 左大括号 Opening brace 124 174 7C 01111100 &#124; 垂直线 125 175 7D 01111101 } &#125; 右大括号 Closing brace 126 176 7E 01111110 ~ &#126; 波浪号 Equivalency sign - tilde 127 177 7F 01111111 &#127; 删除 Delete ASCII扩展码 (字符编码: 128-255) 后128个称为扩展ASCII码。许多基于x86的系统都支持使用扩展(或“高”)ASCII。扩展ASCII码允许将每个字符的第8 位用于确定附加的128 个特殊符号字符、外来语字母和图形符号。 十进制 DEC 八进制 OCT 十六进制 HEX 二进制 BIN 符号 Symbol HTML实体编码 中文解释 Description 英文解释 Description 128 200 80 10000000 € &#128; 欧盟符号 Euro sign 129 201 81 10000001 130 202 82 10000010 ‚ &#130; 单低 9 引号 Single low-9 quotation mark 131 203 83 10000011 ƒ &#131; 带钩的拉丁小写字母f Latin small letter f with hook 132 204 84 10000100 „ &#132; 双低 9 引号 Double low-9 quotation mark 133 205 85 10000101 … &#133; 水平省略号 Horizontal ellipsis 134 206 86 10000110 † &#134; 剑号 Dagger 135 207 87 10000111 ‡ &#135; 双剑号 Double dagger 136 210 88 10001000 ˆ &#136; 修正字符抑扬音符号 Modifier letter circumflex accent 137 211 89 10001001 ‰ &#137; 千分号 Per mille sign 138 212 8A 10001010 Š &#138; 带弯音号的拉丁大写字母 S Latin capital letter S with caron 139 213 8B 10001011 ‹ &#139; 左单书名号 Single left-pointing angle quotation 140 214 8C 10001100 Œ &#140; 拉丁大写组合 OE Latin capital ligature OE 141 215 8D 10001101 142 216 8E 10001110 Ž &#142; 带弯音号的拉丁大写字母 z Latin capital letter Z with caron 143 217 8F 10001111 144 220 90 10010000 145 221 91 10010001 ‘ &#145; 左单引号 Left single quotation mark 146 222 92 10010010 ’ &#146; 右单引号 Right single quotation mark 147 223 93 10010011 “ &#147; 左双引号 Left double quotation mark 148 224 94 10010100 ” &#148; 右双引号 Right double quotation mark 149 225 95 10010101 • &#149; Bullet 150 226 96 10010110 – &#150; 半长破折号 En dash 151 227 97 10010111 — &#151; 全长破折号 Em dash 152 230 98 10011000 ˜ &#152; 小波浪线 Small tilde 153 231 99 10011001 ™ &#153; Trade mark sign 154 232 9A 10011010 š &#154; 带弯音号的拉丁小写字母 s Latin small letter s with caron 155 233 9B 10011011 › &#155; 右单书名号 Single right-pointing angle quotation mark 156 234 9C 10011100 œ &#156; 拉丁小写组合 oe Latin small ligature oe 157 235 9D 10011101 158 236 9E 10011110 ž &#158; 带弯音号的拉丁小写字母 z Latin small letter z with caron 159 237 9F 10011111 Ÿ &#159; 带弯音号的拉丁大写字母 Y Latin capital letter Y with diaeresis 160 240 A0 10100000 &#160; Non-breaking space 161 241 A1 10100001 ¡ &#161; 反向感叹号 Inverted exclamation mark 162 242 A2 10100010 ¢ &#162; 分币符号 Cent sign 163 243 A3 10100011 £ &#163; 英磅符号 Pound sign 164 244 A4 10100100 ¤ &#164; Currency sign 165 245 A5 10100101 ¥ &#165; 人民币符号 Yen sign 166 246 A6 10100110 ¦ &#166; Pipe, Broken vertical bar 167 247 A7 10100111 § &#167; 章节符号 Section sign 168 250 A8 10101000 ¨ &#168; 通用货币符号 Spacing diaeresis - umlaut 169 251 A9 10101001 © &#169; 版权符号 Copyright sign 170 252 AA 10101010 ª &#170; 阴性顺序指示符号 Feminine ordinal indicator 171 253 AB 10101011 « &#171; 左角引号 Left double angle quotes 172 254 AC 10101100 ¬ &#172; Not sign 173 255 AD 10101101 ­ &#173; Soft hyphen 174 256 AE 10101110 ® &#174; Registered trade mark sign 175 257 AF 10101111 ¯ &#175; Spacing macron - overline 176 260 B0 10110000 ° &#176; 温度符号 Degree sign 177 261 B1 10110001 ± &#177; 加/减号 Plus-or-minus sign 178 262 B2 10110010 ² &#178; 上标 2 Superscript two - squared 179 263 B3 10110011 ³ &#179; 上标 3 Superscript three - cubed 180 264 B4 10110100 ´ &#180; Acute accent - spacing acute 181 265 B5 10110101 µ &#181; 微符号 Micro sign 182 266 B6 10110110 ¶ &#182; 段落符号,pilcrow Pilcrow sign - paragraph sign 183 267 B7 10110111 · &#183; 中点 Middle dot - Georgian comma 184 270 B8 10111000 ¸ &#184; Spacing cedilla 185 271 B9 10111001 ¹ &#185; 上标 1 Superscript one 186 272 BA 10111010 º &#186; 阳性顺序指示符 Masculine ordinal indicator 187 273 BB 10111011 » &#187; 右角引号 Right double angle quotes 188 274 BC 10111100 ¼ &#188; 分数四分之一 Fraction one quarter 189 275 BD 10111101 ½ &#189; 分数二分之一 Fraction one half 190 276 BE 10111110 ¾ &#190; Fraction three quarters 191 277 BF 10111111 ¿ &#191; 反向问号 Inverted question mark 192 300 C0 11000000 À &#192; 带重音符的大写字母 A Latin capital letter A with grave 193 301 C1 11000001 Á &#193; 带尖锐重音的大写字母 A Latin capital letter A with acute 194 302 C2 11000010  &#194; 带音调符号的大写字母 A Latin capital letter A with circumflex 195 303 C3 11000011 à &#195; 带代字号的大写字母 A Latin capital letter A with tilde 196 304 C4 11000100 Ä &#196; 带元音变音 (分音符号) 的大写字母 A Latin capital letter A with diaeresis 197 305 C5 11000101 Å &#197; 带铃声的大写字母 A Latin capital letter A with ring above 198 306 C6 11000110 Æ &#198; 大写字母 AE 双重元音 Latin capital letter AE 199 307 C7 11000111 Ç &#199; 带变音符号的大写字母 C Latin capital letter C with cedilla 200 310 C8 11001000 È &#200; 带重音符的大写字母 E Latin capital letter E with grave 201 311 C9 11001001 É &#201; 带尖锐重音的大写字母 E Latin capital letter E with acute 202 312 CA 11001010 Ê &#202; 带音调符号的大写字母 E Latin capital letter E with circumflex 203 313 CB 11001011 Ë &#203; 带元音变音 (分音符号) 的大写字母 E Latin capital letter E with diaeresis 204 314 CC 11001100 Ì &#204; 带重音符的大写字母 I Latin capital letter I with grave 205 315 CD 11001101 Í &#205; 带尖锐重音的大写字母 I Latin capital letter I with acute 206 316 CE 11001110 Î &#206; 带音调符号的大写字母 I Latin capital letter I with circumflex 207 317 CF 11001111 Ï &#207; 带元音变音 (分音符号) 的大写字母 I Latin capital letter I with diaeresis 208 320 D0 11010000 Ð &#208; Latin capital letter ETH 209 321 D1 11010001 Ñ &#209; 带代字号的大写字母 N Latin capital letter N with tilde 210 322 D2 11010010 Ò &#210; 带重音符的大写字母 O Latin capital letter O with grave 211 323 D3 11010011 Ó &#211; 带尖锐重音的大写字母 O Latin capital letter O with acute 212 324 D4 11010100 Ô &#212; 带音调符号的大写字母 O Latin capital letter O with circumflex 213 325 D5 11010101 Õ &#213; 带代字号的大写字母 O Latin capital letter O with tilde 214 326 D6 11010110 Ö &#214; 带元音变音 (分音符号) 的大写字母 O Latin capital letter O with diaeresis 215 327 D7 11010111 × &#215; 大写字母 OE 连字 Multiplication sign 216 330 D8 11011000 Ø &#216; 带斜杠的大写字母 O Latin capital letter O with slash 217 331 D9 11011001 Ù &#217; 带重音符的大写字母 U Latin capital letter U with grave 218 332 DA 11011010 Ú &#218; 带尖锐重音的大写字母 U Latin capital letter U with acute 219 333 DB 11011011 Û &#219; 带音调符号的大写字母 U Latin capital letter U with circumflex 220 334 DC 11011100 Ü &#220; 带元音变音 (分音符号) 的大写字母 U Latin capital letter U with diaeresis 221 335 DD 11011101 Ý &#221; 带元音变音 (分音符号) 的大写字母 Y Latin capital letter Y with acute 222 336 DE 11011110 Þ &#222; Latin capital letter THORN 223 337 DF 11011111 ß &#223; 德语高调小写字母 s Latin small letter sharp s - ess-zed 224 340 E0 11100000 à &#224; 带重音符的小写字母 a Latin small letter a with grave 225 341 E1 11100001 á &#225; 带尖锐重音的小写字母 a Latin small letter a with acute 226 342 E2 11100010 â &#226; 带音调符号的小写字母 a Latin small letter a with circumflex 227 343 E3 11100011 ã &#227; 带代字号的小写字母 a Latin small letter a with tilde 228 344 E4 11100100 ä &#228; 带元音变音 (分音符号) 的小写字母 a Latin small letter a with diaeresis 229 345 E5 11100101 å &#229; 带铃声的小写字母 a Latin small letter a with ring above 230 346 E6 11100110 æ &#230; 小写字母 ae 双重元音 Latin small letter ae 231 347 E7 11100111 ç &#231; 带变音符号的小写字母 c Latin small letter c with cedilla 232 350 E8 11101000 è &#232; 带重音符的小写字母 e Latin small letter e with grave 233 351 E9 11101001 é &#233; 带尖锐重音的小写字母 e Latin small letter e with acute 234 352 EA 11101010 ê &#234; 带音调符号的小写字母 e Latin small letter e with circumflex 235 353 EB 11101011 ë &#235; 带元音变音 (分音符号) 的小写字母 e Latin small letter e with diaeresis 236 354 EC 11101100 ì &#236; 带重音符的小写字母 i Latin small letter i with grave 237 355 ED 11101101 í &#237; 带尖锐重音的小写字母 i Latin small letter i with acute 238 356 EE 11101110 î &#238; 带音调符号的小写字母 i Latin small letter i with circumflex 239 357 EF 11101111 ï &#239; 带元音变音 (分音符号) 的小写字母 i Latin small letter i with diaeresis 240 360 F0 11110000 ð &#240; Latin small letter eth 241 361 F1 11110001 ñ &#241; 带代字号的小写字母 n Latin small letter n with tilde 242 362 F2 11110010 ò &#242; 带重音符的小写字母 o Latin small letter o with grave 243 363 F3 11110011 ó &#243; 带尖锐重音的小写字母 o Latin small letter o with acute 244 364 F4 11110100 ô &#244; 带音调符号的小写字母 o Latin small letter o with circumflex 245 365 F5 11110101 õ &#245; 带代字号的小写字母 o Latin small letter o with tilde 246 366 F6 11110110 ö &#246; 带元音变音 (分音符号) 的小写字母 o Latin small letter o with diaeresis 247 367 F7 11110111 ÷ &#247; 小写字母 oe 连字 Division sign 248 370 F8 11111000 ø &#248; 带斜杠的小写字母 o Latin small letter o with slash 249 371 F9 11111001 ù &#249; 带重音符的小写字母 u Latin small letter u with grave 250 372 FA 11111010 ú &#250; 带尖锐重音的小写字母 u Latin small letter u with acute 251 373 FB 11111011 û &#251; 带音调符号的小写字母 u Latin small letter u with circumflex 252 374 FC 11111100 ü &#252; 带元音变音 (分音符号) 的小写字母 u Latin small letter u with diaeresis 253 375 FD 11111101 ý &#253; 带元音变音 (分音符号) 的小写字母 y2 Latin small letter y with acute 254 376 FE 11111110 þ &#254; Latin small letter thorn 255 377 FF 11111111 ÿ &#255; Latin small letter y with diaeresis 参考引用 ASCII码表,ASCII码一览表,ASCII码对照表完整版-ASCII码中文站 ASCII码一览表,ASCII码对照表 正则表达式在线测试 | 菜鸟工具