我需要验证使用输入到输入框中的数字。数字的长度必须正好为 12 个字符,并且以 931 开头。
var reg = /^931[0-9]$/;
var val = $("#sms_number").val();
if (val.length === 12 && reg.test(val)) {
}
以上不正确。
我需要验证使用输入到输入框中的数字。数字的长度必须正好为 12 个字符,并且以 931 开头。
var reg = /^931[0-9]$/;
var val = $("#sms_number").val();
if (val.length === 12 && reg.test(val)) {
}
以上不正确。
var reg = /^931\d{9}$/;
var val = $("#sms_number").val();
if (reg.test(val)) {
// ....
}
你也可以在没有正则表达式的情况下做到这一点。
var val = $("#sms_number").val();
if (val.length === 12 && val.toString().indexOf("931") == 0) {
}
简单但可能不如正则表达式解决方案强大
以简洁的方式,以下应该起作用:
/^931[0-9]{9}$/.test($("#sms_number").val())? console.log(true): console.log(false);
\d
xdazz 的答案是正确的,但如果您也不想容纳 unicode 数字,我建议不要使用。如果你只使用英文数字(我认为这就是它的意思,因为它使用931
确实是英文的前缀)你应该使用[0-9]
而不是\d
. 前者更快。