由于需要对文本框内容进行校验,将非法字符通过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. AI一分钟|苹果无人车可根据乘客情绪调整行车方式;快商通完成近亿元融资
  2. Attention is not all you need
  3. poj1201Intervals(差分约束)
  4. c语言学习与应用 北京邮电大学出版社,《C语言程序设计与应用》低价购书_计算机与互联网_孔网...
  5. trie树和后缀树的应用
  6. Angular自定义管道(过滤器)方法
  7. nfc修改饭卡软件下载_NFC卡模拟,从此打卡刷电梯,饭卡工卡各种IC卡都用手机搞定!...
  8. Java 在Excel中添加水印
  9. vue3和vue2中mian.js的区别,在其中配置路由为例
  10. 乐视生态世界发布会官方图文直播(2016年01月12日 15:00)
  11. Jmeter 压测和AB压测的比较
  12. Netty -Netty心跳检测机制案例,Netty通过WebSocket编程实现服务器和客户端长链接
  13. 字符串日期 转换成 需要的格式的 字符串日期(超强)
  14. linux编程之emacs
  15. Sun开源拳头产品迎不同未来
  16. 手机回收价格—换换回收让用户低成本换机
  17. 诺基亚linux手机,诺基亚哪款手机好用?诺基亚手机推荐
  18. 全球及中国半导体用金刚石微粉行业发展模式及未来前景动态分析报告2021年版
  19. 微信小程序常识——只需4个文件即可构成一个完整的微信小程序项目
  20. 函数、极限与连续-一元微积分

热门文章

  1. 一战赚了 1090 亿,“可怕”的张一鸣!
  2. iMeta | 北大陈峰组综述口腔微生物组的标准化研究:从技术驱动到假说驱动
  3. 目标检测YOLO实战应用案例100讲-基于PReNet和YOLOv4融合的 雨天交通目标检测网络
  4. ROS:古月居第一次作业(话题与服务编程、动作编程、TF编程)
  5. C语言之复合类型上卷(十八)(阴阳两极)
  6. 在 AirPods Pro 上安装 Apple 的 Beta 版固件小技巧
  7. 山东政法学院计算机高考志愿填报代码,山东高考志愿填报:政法类院校明日开始政审...
  8. 迭代与递归的区别(斐波那契数列和小猴子摘桃)
  9. 数据库应用系统开发方法(知识点总结)
  10. af if no sooner than..