由于需要对文本框内容进行校验,将非法字符通过JS的replace函数过滤出去,但是这样过滤对于在文本框内容最后插入的非法字符没有影响,如果在文本中间插入非法字符,那么将非法字符过滤掉之后,光标就会跳到文本框的最后去,为了解决这个问题,对replace进行了增强处理.

function getCursorPos(obj)

{

obj.focus();

var currentRange=document.selection.createRange();

var workRange=currentRange.duplicate();

obj.select();

var allRange=document.selection.createRange();

var pos=0;

while(workRange.compareEndPoints("StartToStart",allRange)>0)

{

workRange.moveStart("character",-1);

pos++;

}

currentRange.select();

return pos;

}

/*

定位光标

*/

function setCursorPos(obj,pos)

{

var rng =obj.createTextRange();

rng.moveStart(‘character‘,pos);

rng.collapse(true);

rng.select();

}

/*

替换后定位光标在原处,可以这样调用οnkeyup=replaceAndSetPos(this,/[^\d]/g,‘‘);

*/

function replaceAndSetPos(obj,pattern,text){

if(event.shiftKey||event.altKey||event.ctrlKey||event.keyCode==16||event.keyCode==17||event.keyCode==18||(event.shiftKey&&event.keyCode==36))

return;

var pos=getCursorPos(obj);//保存原始光标位置

var temp=obj.value; //保存原始值

obj.value=temp.replace(pattern,text);//替换掉非法值

pos=pos-(temp.length-obj.value.length);//当前光标位置

setCursorPos(obj,pos);//设置光标

}

//这里是对增强后的函数的调用,这里只能输入数字,如果输入其他字符将被过滤掉

/

function inputNumberOnly(text){

replaceAndSetPos(text,/[^\d]/g,‘‘);

}

在html页面中调用如下:

这样该文本框就只能输入数字,对于其他字符进行过滤.并保持光标的位置

html文本框禁止汉字,html 文本框屏蔽非法字符相关推荐

  1. 提取文本中的汉字字符串

    java 编程点滴 提取文本中的汉字字符串 提取文本中的汉字字符串 代码中含有中文字符,希望将代码中的中文字符提取出来,输出到数据库表格,然后补充对应的英文翻译. 继续处理代码,将文中的中文字符,通过 ...

  2. Textbox控件禁止用户向文本框中输入文字

    在Winform程序中,Textbox控件,如何禁止用户向文本框中输入文字,而只是可以通过程序来写入内容 选择这个控件的属性,在事件列中找到KeyPress,双击,生成相应的事件监听方法,加入代码e. ...

  3. php 获取下拉框选中的文本,jQuery实现select下拉框获取当前选中的文本

    本文主要介绍了jQuery实现select下拉框获取当前选中文本.值.索引以及添加/删除Select的Option项的相关知识,具有很好的参考价值.下面跟着小编一起来看下吧,希望能帮助到大家. 话不多 ...

  4. 文本编辑器中实现自定义编辑框中字体和大小的功能

    文章目录 1 文本编辑器中实现自定义编辑框中字体和大小的功能 1 文本编辑器中实现自定义编辑框中字体和大小的功能 实现思路: 通过QFontDialog选择字体及大小. 将QFont对象设置到文本编辑 ...

  5. java计算两个文本框的值,java 文本框自动获取另外两个文本框的值的乘积

    java 文本框自动获取另外两个文本框的值的乘积 关注:282  答案:2  手机版 解决时间 2021-02-25 21:59 提问者壹玍徴戰何亽陪 2021-02-25 13:53 在panel里 ...

  6. pads 文本不能修改_斜框检测经典网络(文本)- R2CNN

    论文题目:R2CNN:Rotational Region CNN for Orientation Robust Scene Text Detection 论文来源:2017CVPR 论文地址:http ...

  7. 文本框宽度自动适应文本宽度

    <html> <head> <title>文本框宽度自动适应文本宽度 </title> </head> <script type=&q ...

  8. html文本框 控件,标签和文本框都用于显示文本

    用标签和文本框都可以显示文本信息,二者有什么区别 标签和文本框控件都可以显示文本,它们之间有什么区别?标签只能显示一横... 文本框可以显示很多横... 不对.标签框(Label)不能输入文本. VB ...

  9. java复选框如何显示在文本雨_java – 在复选框的itemStatechanged事件上显示文本字段...

    如何在Swing中的复选框的itemStatechanged事件中显示文本字段? 我正在尝试使用复选框和文本字段创建框架.我希望仅在选中复选框时才显示文本字段.因此,当我初始化组件时,我将textfi ...

最新文章

  1. SAP RETAIL分配表的查询报表
  2. 自然语言处理的发展历程
  3. 从考研说起:大学、职场、个人选择
  4. 关于VS2017中fopen、fscanf等函数无法使用的问题
  5. 一张图学习常见this的指向
  6. 亿佰特电源模块:无线通信模块电平转换指南
  7. 彩生活云上转型 打造全球最大社区服务运营商
  8. Linux内存背后的那些神秘往事
  9. Python+matplotlib绘制动态更新的柱状图
  10. Debian 10(buster) 更换国内软件源
  11. 防盗链与token运用
  12. Visual C# 2005——超好用的DropDown与DropDownClosed事件
  13. The app references non-public selectors in payload With Xcode6.1
  14. matlab 异常,Matlab 2017b 异常信息。程序奔溃。
  15. 量化交易 均线、金叉死叉计算与交易策略
  16. 机器视觉1:图像预处理与瑕疵检测
  17. php验证码手册,验证码_专题_帮助文档_Thinkphp手册
  18. PKU1390UVA10559方块消除+弱化版P2135
  19. 如何在G502中实现anywhere滚轮左右长移效果
  20. Android调用系统自带的文件管理器进行文件选择

热门文章

  1. js---async和awit的一些理解
  2. 海航陈峰的脾气与修行:狮子与佛陀的冲突
  3. 计算机应用基础7074,毕业论文_计算机应用基础
  4. LTE网络下的SMS收发(SMS Over SGs方案的详细流程)
  5. Excel催化剂开源第25波-Excel调用百度AI,返回AI结果
  6. 陶瓷电容器直流的漏电流标准值的方法
  7. PLSQL查询结果中文出现乱码或者无法查询中文
  8. 看看这篇拯救发际线的干货吧--警惕 Go 编程陷阱
  9. java和vue车辆管理系统车管所系统
  10. 计算机病毒的常用方法,几种常见恶性电脑病毒清除方法