在JavaScript或Razor中,验证电话号码的代码在哪里?

在JavaScript或Razor中,验证电话号码的代码在哪里?,javascript,razor,Javascript,Razor,这是我的第一个网页,我在其中提示用户输入一个电话号码,以便添加到“请勿拨打”列表数据库中。到目前为止,一切正常,但我需要补充以下内容,我可以按照建议做 从除数字以外的所有字符中剥离输入 正在验证生成的字符串是否为10位数 然后,当告诉用户该号码已添加到列表中时,我希望以(999)999-9999格式显示该号码 我应该在哪里添加所有代码?是否删除@{}块?用JavaScript?剃须刀?检查电话号码 function IsNumber(s) { var i, currentCharac

这是我的第一个网页,我在其中提示用户输入一个电话号码,以便添加到“请勿拨打”列表数据库中。到目前为止,一切正常,但我需要补充以下内容,我可以按照建议做

  • 从除数字以外的所有字符中剥离输入
  • 正在验证生成的字符串是否为10位数
然后,当告诉用户该号码已添加到列表中时,我希望以(999)999-9999格式显示该号码

我应该在哪里添加所有代码?是否删除
@{}
块?用JavaScript?剃须刀?

检查电话号码

function IsNumber(s) {
    var i, currentCharacter;
    for (i = 0; i < s.length; i++) {
        // Check that current character is number.
        currentCharacter = s.charAt(i);
        if (((currentCharacter < "0") || (currentCharacter > "9"))) {
            return false;
        }
    }
    // All characters are numbers.
    return true;
}

function TestInternationalPhone(strPhone) {
    var bracket = 3,
    openBracket,
    phoneNumberOnly,
    phoneNumberDelimiters = "()- ",
    validWorldPhoneChars = phoneNumberDelimiters + "+",
    minDigitsInIPhoneNumber = 10;

    strPhone = SOS.StringHelper.Trim(strPhone);
    if (strPhone.length === 0) {
        return false;
    }
    if (strPhone.indexOf("+") > 1) {
        return false;
    }
    if (strPhone.indexOf("-") != -1) {
        bracket = bracket + 1;
    }
    if (strPhone.indexOf("(") != -1 && strPhone.indexOf("(") > bracket) {
        return false;
    }
    openBracket = strPhone.indexOf("(");
    if (strPhone.indexOf("(") != -1 && strPhone.charAt(openBracket + 2) != ")") {
        return false;
    }
    if (strPhone.indexOf("(") == -1 && strPhone.indexOf(")") != -1) {
        return false;
    }
    phoneNumberOnly = SOS.StringHelper.StripCharsInBag(strPhone, validWorldPhoneChars);
    return (IsNumber(phoneNumberOnly) && phoneNumberOnly.length >= minDigitsInIPhoneNumber);
}
函数是数字{
var i,当前特征;
对于(i=0;i“9”)){
返回false;
}
}
//所有字符都是数字。
返回true;
}
功能测试国际电话(strPhone){
var括号=3,
开括号,
电话号码,
phoneNumberDelimiters=“()-”,
validWorldPhoneChars=电话号码限制器+“+”,
minDigitsInIPhoneNumber=10;
strPhone=SOS.StringHelper.Trim(strPhone);
如果(strPhone.length==0){
返回false;
}
if(strPhone.indexOf(“+”)>1){
返回false;
}
if(strPhone.indexOf(“-”)!=-1){
括号=括号+1;
}
if(strPhone.indexOf(“”)=-1&&strPhone.indexOf(“”>括号){
返回false;
}
openBracket=strPhone.indexOf(“”);
if(strPhone.indexOf(“(”)!=-1&&strPhone.charAt(Open括号+2)!=”){
返回false;
}
if(strPhone.indexOf(“(”)==-1&&strPhone.indexOf(“)”)!=-1){
返回false;
}
phoneNumberOnly=SOS.StringHelper.StripCharsInBag(strPhone,validWorldPhoneChars);
返回(IsNumber(phoneNumberOnly)和&phoneNumberOnly.length>=mindigitsiphonenumber);
}

是的,但是我应该把它放在代码中的什么地方?放在JavaScript文件的
@{}
块中,然后从
@{}
块中调用它?如果你把它放在{},你应该把它放在标签里。我把它放在我的JavaScript文件里。请原谅我的无知。是什么?我用谷歌搜索了它,没有找到任何解释。在razor视图中,当你把代码放在@{}它的意思是服务器代码,没有javascript。标记只是帮助您将javascript放在这个服务器块代码中。我正在做
。它不工作吗?是一样的吗?