Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何根据Javascript中的子字符串增加变量的值?_Javascript - Fatal编程技术网

如何根据Javascript中的子字符串增加变量的值?

如何根据Javascript中的子字符串增加变量的值?,javascript,Javascript,我正在尝试创建一个脚本,在脚本中验证电话号码,而不使用太多的正则表达式。到目前为止,我已经: var phone = document.PizzaForm.phone.value; var num = [1,2,3,4,5,6,7,8,9,0]; var delim = ["(" , ")" , "-" , "."]; var incr = 0; var status = 0; if (document.PizzaForm.phone.value.substring() = num) {

我正在尝试创建一个脚本,在脚本中验证电话号码,而不使用太多的正则表达式。到目前为止,我已经:

var phone = document.PizzaForm.phone.value;
var num = [1,2,3,4,5,6,7,8,9,0];
var delim = ["(" , ")" , "-" , "."];
var incr = 0;
var status = 0;

if (document.PizzaForm.phone.value.substring() = num) {
    incr++;
    return;
}

if (incr < 10) {
    var statustext=1;
    alert("Phone data is missing.");
}

if (document.PizzaForm.phone.value.substring[0,4,8] != num || document.PizzaForm.phone.value.substring[0,4,8] != delim) {
    (status var statustext=1;
    alert("Phone data is incorrect.");)
}

if (statustext == 0) {
    return true;
}
else {
    return false;
}
var phone=document.PizzaForm.phone.value;
var num=[1,2,3,4,5,6,7,8,9,0];
变量delim=[“(”,“”,“-”,“”];
var incr=0;
var状态=0;
if(document.PizzaForm.phone.value.substring()=num){
incr++;
返回;
}
如果(增量<10){
var statustext=1;
警报(“电话数据丢失”);
}
if(document.PizzaForm.phone.value.substring[0,4,8]!=num | | document.PizzaForm.phone.value.substring[0,4,8]!=delim){
(状态变量statustext=1;
警报(“电话数据不正确。”);)
}
如果(statustext==0){
返回true;
}
否则{
返回false;
}
}


但它不起作用。每次有一个数字时,我都试图增加我的增量,所以如果增量小于10,我会收到一条信息,说明没有足够的数字。有人看到我可能出了什么问题吗?

在您的以下情况下:

if (document.PizzaForm.phone.value.substring[0,4,8] != num || document.PizzaForm.phone.value.substring[0,4,8] != delim) {
    (status var statustext=1;
    alert("Phone data is incorrect.");)
}
  • 全局声明状态文本集。不在if条件内
  • 直接将状态设置为1
  • 改变你的逻辑如下

    var statustext = 0;
    if (document.PizzaForm.phone.value.substring[0,4,8] != num || document.PizzaForm.phone.value.substring[0,4,8] != delim) {
        status = 1;
        statustext = 1;
        alert("Phone data is incorrect.");)
    }
    

    它看起来像一个部分代码。。。您是否可以添加一个JSFIDLE左右的代码片段来重现您的问题?这将更容易帮助你…通过运行时错误发布的代码。有语法和语义错误。。。语法:
    substring[0,4,8]
    (函数上有多个值的属性或数组索引访问),语义:
    if(…substring()=num)
    (此处赋值错误)
    (status var statustext=1;
    也因多种原因无效。您是对的,它只是部分代码。当用户单击提交按钮时,会运行此代码。我只包含此部分,因为一旦我将脚本更改为此,一切都会停止运行。