半角数字验证 Encoding

 Imports System.Text.RegularExpressions

  

''' <summary>
    ''' Shift-JISエンコーディング
    ''' </summary>
    ''' <remarks></remarks>
    Public Shared ReadOnly DefaultEncoding As Encoding = Encoding.GetEncoding(932)


    ''' <summary>
    ''' 文字列の桁数(Shift-JISでのバイト数)を取得する。
    ''' </summary>
    ''' <param name="s">入力された文字列。</param>
    ''' <returns>文字列の桁数</returns>
    ''' <remarks></remarks>
    Public Shared Function GetLength(ByVal s As String) As Integer
        If Not IsInput(s) Then
            Return 0
        End If

        Return  DefaultEncoding.GetByteCount(s)
    End Function

   ''' <summary>
    ''' 配列の各項目の半角数字固定桁数チェック
    ''' </summary>
    ''' <param name="strs"></param>
    ''' <param name="length">長さ</param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Shared Function CheckArrayIsNum(ByVal strs As String(), ByVal length As Integer) As Boolean

        For Each str As String In strs
            If GetLength(str) <> length Or Regex.IsMatch(str, "[^0-9]") Then
                Return False
            End If
        Next
        Return True

    End Function

 

https://msdn.microsoft.com/zh-cn/library/system.text.encoding(VS.80).aspx

 

 

 

引言 随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲呢。 设计本课题时构思了两种方案:一种是用以AT89C2051为核心的单片机控制方案;另一种是用以74LS112双JK触发器构成的数字逻辑电路控制方案。考虑到单片机方案原理复杂,而且调试较为繁琐,所以本文采用后一种方案。 2 总体方案设计 2.1设计思路 共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过40秒(一般情况下,用户不会超过40秒,若用户觉得不便,还可以修改)电路将报警80秒,若电路连续报警三次,电路将锁定键盘5分钟,防止他人的非法操作。 2.2总体方框图 3 设计原理分析 电路由两大部分组成:密码锁电路和备用电源(UPS),其中设置UPS电源是为了防止因为停电 造成的密码锁电路失效,使用户免遭麻烦。 密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入次数锁定电路。 3.1 键盘输入、密码修改、密码检测、开锁及执行电路 . 其电路如下图1所示: 图1 键盘输入、密码修改、密码检测、开锁、执行电路 开关K1~K9是用户的输入密码的键盘,用户可以通过开关输入密码,开关两端的电容是为了提高开关速度,电路先自动将IC1~IC4清零,由报警电路送来的清零信号经C25送到T11基极,使T11导通,其集电极输出低电平,送往IC1~IC4,实现清零。 密码修改电路由双刀双掷开关S1~S4组成(如图2所示), 它是利用开关切换的原理实现密码的修改。例如要设定密码为1458,可以拨动开关S1向左,S2向右,S3向左,S4向右,即可实现密码的修改,由于输入的密码要经过S1~S4的选择,也就实现了密码的校验。本电路有16组的密码可供修改。 图2 密码修改电路
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值