这是我的第一个网页,我在其中提示用户输入电话号码以添加到“请勿呼叫列表”数据库。到目前为止一切正常,但我需要添加以下内容,我可以按照此答案中的建议进行操作
- 去除除数字以外的所有字符的输入
- 验证结果字符串的长度为 10 位
然后,当告诉用户该号码已添加到列表中时,我想以 (999) 999-9999 格式显示它。
我应该在哪里添加所有这些代码?在@{ }
街区之外?在 JavaScript 中?剃刀?
这是我的第一个网页,我在其中提示用户输入电话号码以添加到“请勿呼叫列表”数据库。到目前为止一切正常,但我需要添加以下内容,我可以按照此答案中的建议进行操作
然后,当告诉用户该号码已添加到列表中时,我想以 (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);
}