我想要有效的文本框文字。文本框用于电话号码,当然,字母和其他任何其他数字我使用不同类型的代码
离
$(document).ready(function () {
$("#sub").click(function () {
var regex = /[$%^&*()_+[]{}<>?]אבגדהוזחטיכךלמםנןסעפצקרשת \"/
var bleangth = $('.bphone').val().length;
var eleangth = $('.ephone').val().leangth;
var cbphone = $('.bphone').val();
var cephone = $('.ephone').val();
if (bleangth < 3 || eleangth < 7) {
$('#bad').removeClass("error");
$('#short').addClass("error");
}
else
if (regex.test(cbphone) || regex.test(cephone)) {
$('#short').removeClass("error");
$('#bad').addClass("error");
}
else {
$('#bad').removeClass("error");
$('#short').removeClass("error");
//$('h3').removeClass("snerror")
}
alert( "end " + regex.test(cephone) +" start " + regex.test(cbphone));
});
如您所见,我输入了来自不同语言的字母,但由于某种原因,代码无法“读取”它并返回true是否有一种方法可能将字符串拆分为数组然后使用它?或者我需要添加/下载的不同代码或其他东西
提前谢谢
答案 0 :(得分:1)
如果要求仅输入数字,则您应该能够NOT
!
运算符与RegExp
/\D/
一起使用;例如。; !/\D/.test(/*input*/)
如果输入是数字,则true
会产生false
,如果输入不是数字,则为HTML5
。
使用<input>
pattern
元素并将\d+
属性设置为required
,<label>
属性的方法; CSS
元素,:focus
:invalid
,+
,相邻的兄弟选择器input + label {
display:none;
}
input:focus:invalid + label {
display:block;
color:red;
}
<input type="text"
pattern="\d+"
placeholder="Please input digits 0-9"
required /><label>Invalid input. Please input digits 0-9</label>
{{1}}
答案 1 :(得分:1)
您可以使用unicode值进行正则表达式
var regex = /^[\u05d0-\u05ea]|[$%^&*()_+{}<>\]\[?]$/
实施例
$(document).ready(function(){
var regex = /^[\u05d0-\u05ea]|[$%^&*()_+{}<>\]\[?]$/
$("#buttonCheck").click(function(){
alert(regex.test($("#text").val()));
});
});