[javascript] 记录一次解决输入内容控制为 半角英数字 + 限定符号问题的过程

Posted codermonkie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[javascript] 记录一次解决输入内容控制为 半角英数字 + 限定符号问题的过程相关的知识,希望对你有一定的参考价值。

还是这个小网站项目,需要控制一个输入框的可输入内容,

在此记录一下编码过程。

 

需求:

  可输入范围:

a-z
A-Z
0-9
-  // 短中横线
_  // 短下划线
.  //// 单引号

 

 

 

<input type=‘text‘ id=‘Target‘ maxlength=‘20‘ />

 

想法很简单,直接在oninput里用正则匹配替换掉不需要的字符,

$(function(){

    $(‘#Target‘).on(‘input‘, function(){
        $(this).val($(this).val().replace(/[^w-\_.‘]/ig, ""));
    }

});

 

是的没错就是这个正则式就可以

/[^w-\_.‘]/ig

w 控制半角英数,(其实还有_)

剩下的是单个字符的控制,前面要加 

检查下有没有问题:

IE9不行,直接没有限制。

=>IE9的话,需要在<input /> 标签里写,

<input type=‘text‘ id=‘Target‘ oninput=‘this.value = this.value.replace(/[^w-\_.‘]/ig, "")‘ />

等下,写法报错,因为有[        ‘         ],引号问题。。。

解决办法:还是得用函数,

<input type=‘text‘ id=‘Target‘ oninput=‘onTargetInput(this)‘ />

 

var onTargetInput = function (el){
    el.value = el.value.replace(/[^w-\_.‘]/ig, "");
}

 

---- OK ! ----

 

以上是关于[javascript] 记录一次解决输入内容控制为 半角英数字 + 限定符号问题的过程的主要内容,如果未能解决你的问题,请参考以下文章

Javascript没有从输入字段中读取单个字符

JAVA读入一行文本,并且解决找到我们想要的内容

记录一次高危漏洞bug解决

js 如何控制文本域输入内容在一定间隔时间段才触发事件查询相关数据

我输入的输入值未显示在 JavaScript 中

我的个人项目作业错误及解决办法·