【发布时间】:2020-02-06 05:49:05
【问题描述】:
如果地址输入错误,我尝试了一段代码来限制用户,如下所示 示例地址:#23 78/54, A-31 Nand Jyot Indl Estate, Andheri- Kurla Road, Saki Naka(允许)
14/18,Loha Bhavan,PD Mello Rd,Chinch Bunder,孟买(允许)
只有“.....”、“,,,”、“----”(不允许)
$("#" + (idOfElement)).on("keypress keyup", function (e) {
this.value = this.value
//.replace(/[^\..]/g,'')
.replace(/(^[\d#\w]+)/g, '$1')
.replace(/(\s[1-9A-Za-z\/#-]*)./g, '$1');
});
我希望允许用户仅输入数字、“#”、“/”、“-”、空格和字母,如果他们输入任何其他特殊字符,则不应允许他们这样做。
下面给出的代码适用于小数点到两位的数字。同样,我想对地址做同样的事情。
下面的代码允许 12345.67
不允许 23.4565、23289.499999
//for numbers with decimal point upto two position
$("#" + (idOfElement)).on("keypress keyup blur", function (e) {
this.value = this.value
.replace(/[^\d.]/g, '')
.replace(/(^[\d]+)([\d]*)/g, '$1')
.replace(/(\..*)\./g, '$1')
.replace(/(\.[\d]{2})./g, '$1');
if ((e.which != 46 || $(this).val().indexOf('.') != -1) && (e.which < 48 || e.which > 57)) {
e.preventDefault();
}
我还希望用户只输入带有空格和数字的字母。
样本数据:牙膏200g(允许)
洗发水..(不允许)
洗发水(带有任何其他特殊字符,如!,?,_,~)(不允许)
【问题讨论】:
-
您是否考虑过在输入字段上使用
pattern属性?见docs -
我不允许用户输入任何特殊字符,也就是说,在进行输入时,如果用户用户尝试输入不允许的内容,则不会在输入字段中输入。只有在我们尝试提交表单后,pattern 属性才会检查模式。
标签: javascript jquery html regex