[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 ! ----

原文地址:https://www.cnblogs.com/CoderMonkie/p/9262422.html

时间: 2024-08-30 16:52:48

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

CREATE_RECORD或者NEXT_RECORD导致 FRM-40102 错误:记录必须首先被输入或者删除

在做Form开发中,经常会遇到需要在一个块中创建一条或者是多条数据.首先,一般我们会先定位到最后一条记录(有时候会先执行查询:app_find.find('BLOCK_NAME ');查询出需要的数据然后做最后一条记录的定位).移动当前记录到最后一条记录可以使用下面的语法: GO_BLOCK('BLOCK_NAME');    FIRST_RECORD;    LOOP      EXIT WHEN :SYSTEM.LAST_RECORD = 'TRUE';            NEXT_RE

转载:30多条mysql数据库优化方法,千万级数据库记录查询轻松解决

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描, Sql 代码 : select id from t where num is null; 可以在 num 上设置默认值 0,确保表中 num 列没有 null 值,然后这样查询: Sql 代码 : select id from t where num=0; 3.应尽量避免在 wh

javascript与 ios通讯解决办法

阔别1年半之久,一个JavaScript和ios通讯的想法终于被实现了(我不知道别人有没有早就实现过~). 记得早期ios内嵌html做通讯时,貌似做好的办法只能是 ios通过url来截取页面发送消息,但是这样一来如果页面框架对url的依赖比较高那么就会出问题,并且频繁改url,ios可能并不能拦截到每次的url. 一个老外写了一套利用该方法实现的js与ios通讯的库,原理基本还是如此.不过貌似做了优化,url的变换不在webview里,而是再后端跑了一个webview专门处理url的变化,我没

从头认识Spring-3.8 简单的AOP日志实现(注解版)-扩展添加检查订单功能,以便记录并检測输入的參数

这一章节我们讨论一下扩展添加检查订单功能,以便记录并检測输入的參数. 1.domain 蛋糕类: package com.raylee.my_new_spring.my_new_spring.ch03.topic_1_8; public class Cake { private String name = ""; public String getName() { return name; } public void setName(String name) { this.name =

javascript设置文本框只能输入数字

javascript设置文本框只能输入数字:在很多实际需要中,需要对输入的内容进行限制,比如有些地方只能够输入数字,例如大家经常使用的QQ号码,这个当然当然是数字了,下面就简单介绍一下如何实现此功能.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.s

eclipse编辑jsp文件和javascript代码很卡解决办法

1.Window -> Preference -> General -> Editors -> Text Editors -> HyperLinking -> 在用Ctrl键控制的HyperLinking Style Nevigation列表下, 取消勾选与JPS或Javascript有关的选项 2.关闭eclipse 对于js的自动提示,避免eclipse响应缓慢和崩溃 Windows -->Preference -->JavaScript -->E

ckeditor源码编辑模式,添加style、javascript内容丢失的解决

我使用ckeditor 我在编辑的使用源码编辑,保存内容包含javascript.style标签的时候,数据库中有javascript.style标签 , 输入到页面也可以执行,但是我再次编辑的时候就不见了.添加allowedContent: true就可以了 CKEDITOR.replace( 'textarea_id', { allowedContent: true}); 也可以通过在config.js中添加config.allowedContent = true;实现

从头认识Spring-3.4 简单的AOP日志实现-扩展添加检查订单功能,以便记录并检測输入的參数

这一章节我们再上一个章节的基础上加上一个检查订单功能 1.domain 蛋糕类: package com.raylee.my_new_spring.my_new_spring.ch03.topic_1_4; public class Cake { private String name = ""; public String getName() { return name; } public void setName(String name) { this.name = name; }

Easyui的numberbox无法输入以0开头的数字编号(转载)

1.问题 项目中碰到这样一个问题,Easyui的numberbox在输入数字编号的时候不能以0开头 在我输入以0开头的数字编号后,离开输入框的时候,那个前缀0就自动去掉了. 接下来,我们查看API说明:在input框里加上 prefix属性  data-options="prefix:'0'"  就可以解决numberbox开头不能输入0的问题了 2.属性 该属性扩展自验证框(validatebox),下面是为数字框(numberbox)添加的属性. 名称 类型 描述 默认值 disa