订阅邮件
快捷导航

2.0与2.5真正的最完美的限制只用中文注册(汉字注册)的方法

[复制链接]
查看: 3182|回复: 6
发表于 2012-9-6 05:41:29 | 显示全部楼层 |阅读模式
希望大家不要再拿我的小网www.xipick.com进行测试了。话说按下面的方法2.5也可以实现限制为只能用中文注册哦


今天又发现,这种方法,在360极速浏览器(但改为兼容模式后又有效果了)中没有效果,照样可以输入数字或是字母。如果不在 source\class\class_member.php添加代码的话,光靠修改template----default----member----register.htm 里面的代码,一点作用都没有,还是能注册数字或是字母用户名


因为网站上经常有打小广告的用注册机注册发贴,那些注册的名字全是一串无意数的数与字母的组合,明显没人会记住的,看到这种注册会员头都大了,每天删起来也觉得烦,于是想只允许用中文名注册。

在论坛上搜了几个小时,一个一个的验证,终于东拉西凑的,弄了个自己觉得最完美的方法。

打开:template----default----member----register.htm

打开:template----default----member----register.htm   如使用的不是默认风格 就找你使用的风格包里
  1. <font size="3"><div class="rfm">
  2. <table>
  3. <tr>
  4. <th><span class="rq">*</span><label for="{$this->setting['reginput']['username']}">{lang username}:</label></th>
  5. <td><input type="text" id="{$this->setting['reginput']['username']}" name="" class="px" tabindex="1" autocomplete="off" size="25" maxlength="15" required /></td>
  6. <td class="tipcol"><i id="tip_{$this->setting['reginput']['username']}" class="p_tip">{lang register_username_tips}</i><kbd id="chk_{$this->setting['reginput']['username']}" class="p_chk"></kbd></td>
  7. </tr>
  8. </table>
  9. </div></font>
复制代码
替换为:
  1. <font size="3"><div class="rfm">
  2. <label>提示语:本论坛 『 <font color=red>只接受中文注册</font> 』用户名*</label>
  3. </tr>
  4. </table>
  5. </div>
  6. <div class="rfm">
  7. <table>
  8. <tr>
  9. <th><span class="rq">*</span><label for="{$this->setting['reginput']['username']}">{lang username}:</label></th>
  10. <td><input type="text" id="{$this->setting['reginput']['username']}" name="" class="px" tabindex="1" autocomplete="off" size="25" maxlength="15"

  11. onpropertychange="with(this)if(/[^\u3447-\uFA29]/ig.test(value))value=value.replace(/[^\u3447-\uFA29]/ig,'')" required /></td>
  12. <td class="tipcol"><i id="tip_{$this->setting['reginput']['username']}" class="p_tip">{lang register_username_tips}</i><kbd id="chk_{$this->setting

  13. ['reginput']['username']}" class="p_chk"></kbd></td>
  14. </tr>
  15. </table>
  16. </div></font>
复制代码
然后,再打开 source\class\class_member.php
在456行找到
  1. <font size="3">$username = addslashes(trim(dstripslashes($username)));</font>
复制代码
2.5版的好像在这句话下面:
  1. <font size="3">$usernamelen = dstrlen($username);</font>
复制代码
在它面行加上
  1. <font size="3">if(!preg_match("/^[\x7f-\xff]+$/", $username)) showmessage('出错啦!用户名只能全中文。'); //**** 中文注册修改</font>
复制代码
其中那些提示的汉字可以自己修改成自己想要的。
修改完之后,注册界面和用非汉字注册时的效果如下两图:


注册界面效果图





用了非汉字注册后出错效果图


迎大家前去俺的小站查看效果www.xipick.com

如果不想修改代码,也可以直接把我上传的这两个文件下载解压后覆盖到相应的位置,我这两个文件都是从官方默认模板里面修改的,请放心使用:


还有一个在后台限制注册字母和数字的方法,似乎不太好,没有啥提示。
大概就是如下吧

1、在后台--注册与访问--注册链接文字,把“注册”改为“中文注册”或“注册”等
2、后台UCenter管理中心---注册设置---禁止的用户名:
  1. <font size="3">*q*
  2. *w*
  3. *e*
  4. *r*
  5. *t*
  6. *y*
  7. *u*
  8. *i*
  9. *o*
  10. *p*
  11. *a*
  12. *s*
  13. *d*
  14. *f*
  15. *g*
  16. *h*
  17. *j*
  18. *k*
  19. *l*
  20. *z*
  21. *x*
  22. *c*
  23. *v*
  24. *b*
  25. *n*
  26. *m*
  27. *Q*
  28. *W*
  29. *E*
  30. *R*
  31. *T*
  32. *Y*
  33. *U*
  34. *I*
  35. *O*
  36. *A*
  37. *S*
  38. *D*
  39. *F*
  40. *G*
  41. *H*
  42. *J*
  43. *K*
  44. *L*
  45. *Z*
  46. *X*
  47. *C*
  48. *V*
  49. *B*
  50. *N*
  51. *M*
  52. *1*
  53. *2*
  54. *3*
  55. *4*
  56. *5*
  57. *6*
  58. *7*
  59. *8*
  60. *9*
  61. *0*
  62. *管理员*
  63. *超级版主*
  64. *分版版主*
  65. *版主*
  66. *黑社会*
  67. *超版*
  68. *管理*
  69. *1*
  70. *2*
  71. *3*
  72. *4*
  73. *5*
  74. *6*
  75. *7*
  76. *8*
  77. *9*
  78. *0*</font>
复制代码
最后说一点, 关于注册选项后的那些提示,比如“请输入正确的邮箱地址”“用户名由3到15个字符组成”这些,大家可以在source/language/membe/lang_template.php
这个文件中相应的地方修改

至于输入的信息不合要求的提示,比如:“抱歉,您输入的用户名小于 3 个字符,请输入一个较长的用户名”,这些信息在source/language/lang_message.php这个文件里面修改相应的文字就行了!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?中文注册

x
维卡官网:www.onelife.eu
发表于 2012-9-29 15:48:59 | 显示全部楼层
支持你就顶你,把你顶到天上去!  
维卡官网:www.onelife.eu
发表于 2012-9-29 15:48:59 | 显示全部楼层
感觉好像在哪里看过了,汗~  
维卡官网:www.onelife.eu
发表于 2012-10-27 05:46:36 | 显示全部楼层
挺好啊  
维卡官网:www.onelife.eu
发表于 2012-10-27 05:46:36 | 显示全部楼层
真是佩服得六体投地啊  
维卡官网:www.onelife.eu
发表于 2012-10-27 05:46:36 | 显示全部楼层
估计你是没见识过~` 呵呵  
维卡官网:www.onelife.eu
发表于 2012-10-27 05:46:36 | 显示全部楼层
说嘛1~~~想说什么就说什么嘛~~  
维卡官网:www.onelife.eu
您需要登录后才可以回帖 登录 | 中文注册

本版积分规则

精彩推荐
Copyright   ©2018-2020  One生态中文学习网  Powered by©onelife     豫ICP备12023128号 豫公网安备41010302002471号