牛腩购物9 用户表设计/动软生成器/金钱字段decimal(18, 2)/ 注册的时候的前台js判断/后台代码判断/正则表达式软件/RegexBuddy/设置数据库字段的唯一性约束/如何获取控件在前台html的id值/如何将C#的后台正则换成js的正则

用户表  shop_user:id,createdate,username,email,password,question,answer,isopenemail,realname,cardid,sex,age,province,city,address,phone,postcode,qq,url,intro, type,integral,amount,

用户登录表:shop_login_log:id,username,createdate

关于金钱的字段用   decimal(18, 2)   表示18位,保留2位小数

创建好2个表之后,我们用动软生成器,链接服务器,代码批量生成。

image

接下来去 DAO里面删除多的一句代码  image

接下来我们制作 reg1.aspx   这里有一个注意事项,我们使用的是  母版页,当把  reg1.html里面的代码  放到 reg1.aspx 里面的时候,如果里面有form标签,要删掉,这是因为母版页里面已经有form标签了。

一些常用的判断

1:长度必须大于6个字符小于20个字符,只能为英语字、数字,例如:snsn2003等。  这里我们需要使用 

正则表达式软件  RegexBuddy3.1.0

image

image

下面都是默认的

image

最后在桌面有个图标。

image

例如:  这个软件只是拿来测试正则用的,里面的正则还是需要自己来写。需要你懂正则表达式。

image

当我们这个测试完毕后,我们选择

image

"^[a-zA-Z0-9]{6,20}$"

那么在 asp.net 中,如何使用正则呢? 正则表达式的类是  Regex ,在使用这个类别的时候 ,记得要引用他的命名空间

image 

 if (!Regex.IsMatch(pwd, "^[a-zA-Z0-9]{6,20}$"))
            {
                Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('密码长度必须大于6个字符小于20个字符,请重新输入!');</script>");
                return;
            }

 

如何在 SSMS 里面 设置字段的 唯一性 unique约束

image

image

然后保存表,刷新左边的表的索引,会发现 唯一性 已经保存成功了。(如果我们是是在用代码生成表格的时候,在表里面设置  unique  就可以设置为唯一了)

image

这样就设置完毕了。

如何获取控件生成到html后的ID

例如我们要设置一个txt文本控件的前台js脚本,如何来获取这个控件在 生成html后的id呢?

例如一个控件 

用 户 名: <asp:TextBox ID="txtUsername" runat="server"></asp:TextBox>

如何获取这个控件在前台 html生成后的 id 呢?  我们使用  txtUsername.ClientID

例如我们是用js来判断这个是否为空,如下,一个是jquery 获取值,一个是 用原始的调用

         var name1 = $("#<%=txtUsername.ClientID %>").val();
            var name2 = document.getElementById('<%=txtUsername.ClientID %>').value
如何在前台使用正则呢?
我们先看后台的c#代码里面的正则
image 
 
 
 
if (txtUsername.length == 0 || txtEmail.length == 0 || txtPwd.length == 0 || txtPwd2.length == 0 || 
txtQuestion.length == 0 || txtAnswer.length == 0) {   
//这里要和后台的cs有区别  这里的 length 是小写的  后台的c#代码里面是大写的 Length
                alert("请输入完整的信息"); return false;
            }

            //下面在js里面使用正则表达式,先定义正则表达式,然后把后台的C#正则,拷贝过来,放到两个斜杠中间
            //1:var reg=//g;
            var reg = /^[a-zA-Z0-9]{6,20}$/g;
            if (!reg.test(txtPwd)) {
                alert("密码长度必须大于6个字符小于20个字符,请重新输入!");
                return false;
            }
原文地址:https://www.cnblogs.com/iceicebaby/p/2388111.html