如何实现 对输入框的文本输入框内容进行限制的功能

您的举报已经提交成功,我们将尽快处理,谢谢!
Einstein兄的程序存在如下问题:
+,-,*,\,回车,换行符,删除符等大量字符均无法识别,您可自行在您的程序中输入如上字符,以验证小的所说.
大家还关注
<a href="/b/9254378.html" target="_blank" class="trackEventQuestion" trackType="PC_问题详细页" trackAction="跳转" trackDes="PC_大家还关注" title="急求!我学PASCAL来第一个家作! 让计算机随机生一道10000以内的加减如果答对输出yes错误输出no
程序的结构
随机产生a b
ifa急求!我学PASCAL来第一个家作! 让...在很多网站都有这样的功能,那就是可以限制在文本框内输入文字的数量,有的是让文字不超过多少字,有的是文字不能少于多少字,原理基本是一样的,下面就介绍一下如何是用JS实现此功能,代码实例如下:&!DOCTYPE html&&html&&head&&meta charset=" utf-8"&&meta name="author" content="/" /&&title&蚂蚁部落&/title&&script type="text/javascript"& window.onload=function(){ & var textarea=document.getElementById("mytext"); & textarea.onkeyup=function() & { &&& checkMax(textarea,10); & }&&& &} function checkMax(textarea,maxLength){&& && var str=textarea.&& && var strlen=str.&& && && if(strlen&maxLength)& {&& &&&& alert('字数超过限制');&& &&&& eval(textarea.value=str.substr(0,maxLength));&& && }&& &}&& &&/script& &/head& &body style="text-align:center"& &h1&请在文本框内输入文本测试功能&/h1& &textarea name="textfield" cols="60" rows="10" id="mytext"&&/textarea& &/body& &/html&以上代码实现了限制文字输入数量功能,并且可以将文本框内输入的文本截取至指定的数量。简单介绍一下实现过程:一.功能的实现的核心是checkMax()函数,此函数具有两个参数,一个参数是要限制输入文本数量的对象,一个是要限制的数量。二checkMax()函数体内功能介绍如下:var str=textarea.获取文本框内的输入值,同时计算出来输入值的长度。下面的if语句用来判断当前输入文本的长度是否超过了指定的限制长度,如果超过会弹出一个警告框,并且通过substr()将超出的部分截取掉。三.window.onload=function() {...}的作用是当文档加载完成后才可以执行函数体内的代码,否则,由于代码是顺序执行,会导致 document.getElementById("mytext")无法获取对象。然后为文本框的onkeyup事件绑定事件处理函数。
阅读(...) 评论()Android实现文本框输入一定字数进行搜索的功能
(1)实现文本框自动搜索的功能:
et_phone为一个editText输入框控件
et_phone.addTextChangedListener(new TextWatcher() {
public void onTextChanged(CharSequence s, int start, int before,
int count) {
if (s.length() &= 3) {
String address = AddressQueryDao.numberQuery(s.toString());
tv_result.setText(address);
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
public void afterTextChanged(Editable s) {
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'#文本编辑框未对可输入字符进行限制是否是BUG# 大家来说说意见_百度狂测行动组吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
#文本编辑框未对可输入字符进行限制是否是BUG# 大家来说说意见收藏
身为一名测试工程师,踏入测试这个坑也已经快三年了。对于一般模块的各个功能的验证说不上有多6,但是也算是有点自己的测试思想的。今天呢,说一下自己的部分想法。在阐明我自己的想法之前,先说点废话。接触“百度众测平台”,是个偶然的发现,虽然平时工作任务也很重,但是觉得有这么多的软件让你来进行测试,也是挺开心的。原因嘛,找BUG会上瘾的!(我没有笑...)进入正题1、日 14:30分 提交了关于“产品找茬”任务的“易伴体检店V0.0.2测试”的7个BUG(这里我们以一个文本编辑框为例,其他的就不说了)2、其中一条BUG是这样的(详见截图)附上步骤复现原文:------------------------------------------------------------------------------------------------------------(分割线)1、登录“易伴体检店V0.0.2自由测试”APP,进入APP主页面 2、点击“员工列表”功能,进入“员工列表”功能页 3、点击右上角“添加”功能键,进入“添加”功能页 4、对“员工姓名”进行编辑,在“员工姓名”文本输入框输入“赵7” 5、“联系电话”,“身份证号”,“员工角色”,“员工账号”分别输入正常格 式的字符 6、点击“添加”功能键 7、预期结果:应弹出错误提示,内容为“请输入正确的‘员工姓名’”或 者“‘员工姓名’格式不对,请重新输入” 8、实际结果:添加成功,并弹出“默认密码为111111”的提示------------------------------------------------------------------------------------------------------------(分割线)这里我们先不说我提的BUG和审核员反馈的意见是否相符合,我们单单来分析这个BUG的类型1、从文本输入框可输入的数据分析
对此,我专门去百度了一下(虽然我知道,但是我想看看官方给的定义)
数据类型一般分为:数字型,字节型,文本型(见截图)
2、现在我们来分析一下“员工姓名”的可输入字符类型
官方给的定义:姓名,由姓和名组成,也称名字。人的姓名,是人类为区分个体,给每个个体给定的特定
名称符号,是通过语言文字信息区别人群个体差异的标志。
在进行测试的时候,我在“员工姓名”的文本编辑框输入的是“张3”,按照正常人的逻辑“张三”这种中文字
符的汉字才可以组成名字
数字“张3”是什么鬼?3、现在我们再从“员工姓名”下方的 “联系电话”和“身份证号”来分析
“联系电话”:11位纯数字字符组成
(我验证了好几遍)
“身份证号”:15至18位数字组成,其中18位身份证的共和国公民,部分18位身份证号码的最后一个字符可
能为“X” (也经过验证),验证过程中发现胡乱输入的身份证号无法通过测试,在提交的时候
都弹出错误提示“请输入正确的身份号码”
由此可以得到这样分析,这款APP 肯定拥有实名认证这个功能。
那现在我们再来看看,“张3”“赵7”这样的姓名,可以提交么?附上截图
这是提交成功的员工信息当看到这个BUG没有被审核通过的时候,瞬间我就懵逼了.....
对此我反馈给了相关工作人员,得到如下解释。
还有同时 我也在百度Hi的 产品找茬群组反映了这个问题 看到同样的解释,真的不想说什么了......现在,我们看看众测平台给的一般模块测试点给的信息
这个是链接现在,我想问问大家的看法,这个没有对文本输入框可输入内容字符类型进行限制的缺陷,是不是BUG?坐等...
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或iOS&实现对输入框的文本内容进行限制
iOS的输入框的控件主要有UITextField和UITextView,实现对这两个控件的输入内容进行限制,需要实现控件的下面委托函数(当然,还需要创建控件,设置委托之类的,那些这里就不多说了)。
&对于 UITextField 是
(BOOL)textField:(UITextField&*)textField
shouldChangeCharactersInRange:(NSRange)range
replacementString:(NSString&*)
每当用户在textField的输入内容有变化的时候,这个委托函数将被回调。&
参数说明:
函数返回值:
当你输入内容不满足限制时,return
NO,输入框内容将不会变化;
textField:
内容有变化的响应控件
新的变化内容的位置范围,其中range.location
是变化内容的起始位置,range.length是变化内容的长度
新的变化内容
举一个例子,比如说我们需要对密码输入框做限制,例如长度不能超过6位的。
网上很多例子只是简单的做了range.location&=6的判断,这样是错误的。如果用户输入123456,然后移动光标,在3的后面再输入一个3,这时,range.location还是3,还是不满足range.location&=6,可以继续输入。&
正确严谨的做法是, 根据range, string以及变化前的textField.text,算出变化后的textField.text来判断长度。代码如下:
- (BOOL)textField:(UITextField *)textField
shouldChangeCharactersInRange:(NSRange)range
replacementString:(NSString
&NSMutableString* str = [NSMutableString stringWithString:textField.text];
&&//判断是输入内容,还是del键删除内容。
& & if ([string length] & 0) {
& [str&insertString:string
atIndex:range.location];
&&&[str&replaceCharactersInRange:range
withString:@""];
& & if ([textField isEqual:_password]) {
([str&length]
return NO;
& return YES;
同样的道理,如果该输入框是输入金额,想对金额格式进行控制,只要把if&([str&length]
&&6)的判断条件改成金额格式的判断条件就OK了。
对于UITextView,其回调函数是
- (BOOL)textView:(UITextView&*)textView
shouldChangeTextInRange:(NSRange)range
replacementText:(NSString&*)
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 输入框限制输入长度 的文章

 

随机推荐