Discuz教程网

php+正则表达式控制input输入内容

[复制链接]
authicon dly 发表于 2011-4-4 17:04:38 | 显示全部楼层 |阅读模式
想要让input里只输入数字,或者字母,汉字之类的,一般是把onkeyup里加上表达式。

往每个标签里添加动作实在是太麻烦,于是花了2个小时做了一件一劳永逸的事情:

下次用这个函数就能搞定input输入框的输入限制了
  • <?php
  • //power by Jack 2010-1-2 15:05 with his GF
  • function only($input_typeid){
  • if ($input_typeid==1)//只能输入数字
  • {
  • echo "onkeyup=\"this.value=this.value.replace(/\D/g,'')\" onafterpaste=\"this.value=this.value.replace(/\D/g,'')\"";
  • }
  • else if ($input_typeid==2)//只能输入数字和小数点
  • {
  • echo "onkeyup=\"if(isNaN(value))execCommand('undo')\" onafterpaste=\"if(isNaN(value))execCommand('undo')\"";
  • }
  • else if ($input_typeid==3)//只能输入字母和汉字
  • {
  • echo "onkeyup=\"value=value.replace(/[\d]/g,'') \"onbeforepaste=\"clipboardData.setData('text',clipboardData.getData('text').replace(/[\d]/g,''))\"";
  • }
  • else if ($input_typeid==4)//只能输入英文字母和数字,不能输入中文
  • {
  • echo "onkeyup=\"value=value.replace(/[^\w\.\/]/ig,'')\"";
  • }
  • else if ($input_typeid==5)//只能输入数字和英文
  • {
  • echo "onKeyUp=\"value=value.replace(/[^\d|chun]/g,'')\"";
  • }
  • else if ($input_typeid==6)//小数点后只能有最多两位(数字,中文都可输入),不能输入字母和运算符号:
  • {
  • echo "onKeyPress=\"if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false\"";
  • }
  • else if ($input_typeid==7)//小数点后只能有最多两位(数字,字母,中文都可输入),可以输入运算符号
  • {
  • echo "onkeyup=\"this.value=this.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')\"";
  • }
  • }
  • ?> 使用的时候非常简单,在input里调用这个函数即可,我是给大家做演示,所以乱调的哦,用的时候按需要调用即可


    • 价格<input type="text" name="permoney" maxlength="20" value="" <?php only(1)?>/>金币
    • 时间<input type="text" name="time1" maxlength="20" value="" <?php only(2)?>/>小时
    • 产量<input type="text" name="forin" maxlength="20" value="" <?php only(3)?>/>个
    • 售价<input type="text" name="sell" maxlength="20" value="" <?php only(4)?>/>金币
    • 经验<input type="text" name="exp" maxlength="20" value="" <?php only(5)?>/>
    • 用途<input type="text" name="useful" maxlength="20" value="" <?php only(6)?>/>
    • 小贴士<input type="text" name="tip" maxlength="20" value=""<?php only(7)?>/>







上一篇:Discuz 论坛用户和管理员登陆退出问题
下一篇:【不提供下载】Discuz X1.5鸡蛋鲜花插件V1.0
authicon lilac_yao 发表于 2011-5-7 06:59:57 | 显示全部楼层
真的有意思!
authicon qqoxygen 发表于 2011-5-7 23:00:00 | 显示全部楼层
我回不回呢 考虑再三 还是不回了吧 ^_^
authicon fantuanzi 发表于 2011-5-8 13:59:48 | 显示全部楼层
看帖必回
authicon NicoleOnly 发表于 2011-5-9 08:59:32 | 显示全部楼层
看帖必回
authicon forever21 发表于 2011-5-14 19:59:48 | 显示全部楼层
喜欢喜欢喜欢
authicon 婷婷爱牛牛 发表于 2011-5-16 16:00:01 | 显示全部楼层
这个贴不错!!!
authicon TRACYFLYING 发表于 2011-5-24 01:59:41 | 显示全部楼层
楼主真强大
authicon kurt226 发表于 2011-5-27 01:59:35 | 显示全部楼层
顶顶更健康
authicon Cute宝贝儿 发表于 2011-6-19 20:59:47 | 显示全部楼层
支持一下,确实是不错的贴子。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-3 21:38

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表