我正在做一些工作,但我仍然有三个问题。我试过很多方法,但没有什么没用的。如果你对jQuery有足够的了解,请建议我做些改变。
请先浏览以下网址:
http://jsfiddle.net/thisizmonster/maP57/
我要做的是:
G 212
目前的问题是:
,
如果您看不到jsfiddle上的示例,下面是复制的版本:
HTML
<input type="text" id="sms-sender" />
JS
$(document).ready(function() {
$("#sms-sender").keypress(function(event) {
var numbers = $("#sms-sender").val().split(',');
var maxMsg = 3;
if (event.which != 44 && (event.which < 47 || event.which > 59) || numbers.length > maxMsg) {
event.preventDefault();
}
if (numbers.length > maxMsg) {
event.preventDefault();
}
if (event.which == 44) {
if (numbers.length <= maxMsg) {
$("#number-div").html("");
for (i = 0; i < numbers.length; i++) {
$("#number-div").append("<div class='numbers'> "+numbers[i]+"</div>").fadeIn('slow');
if (numbers[i].length != 8) {
$("#number-div").append("wrong")
}
}
}
}
if (numbers[numbers.length - 1].length > 7) {
if (event.which != 44) {
event.preventDefault();
}
}
});
});
发布于 2011-04-25 08:59:24
使用正则表达式来声明,9或7 ([97]
)后面是7位,逗号(\d{7},
) 0至2倍({0,2}
)覆盖当前正在写入的数字之前的所有内容,然后是9或7 ([97]
),后面是0到7位数字(\d{0,7}
),所有这些都是可选的(?
)。
http://jsfiddle.net/xTRph/
html:
<input type="text" id="sms-sender" />
javascript:
var lastGood = ''
$("#sms-sender").bind('keyup',function(e){
if(!$('#sms-sender').val().match(/^([97]\d{7},){0,2}([97]\d{0,7})?$/))
$('#sms-sender').val(lastGood)
else
lastGood = $('#sms-sender').val()
});
发布于 2011-04-25 08:50:29
2.在输入http://jsfiddle.net/2n7Tf/1/时使用键控验证数字
$('#sms-sender').keyup(validateNumber);
对于其他可以使用正则表达式的内容,1. & 2.。但我不知道你用逗号是什么意思。请解释一下。
/^[0-9]+$/.test(number)
如果数字与正则表达式匹配,则返回true。好了,给你:http://jsfiddle.net/2n7Tf/4/
if(/^([0-9]+,)*[0-9]+$/.test($('#sms-sender').val())){
alert("match!");
}
发布于 2011-04-25 09:02:16
/^[79]\d{7}(,[79]\d{7}){0,2}$/.test($("#sms-sender").val())
https://stackoverflow.com/questions/5776687
复制相似问题