Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.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 如何使用+;7号登机?_Javascript_Angular_Angular7 - Fatal编程技术网

Javascript 如何使用+;7号登机?

Javascript 如何使用+;7号登机?,javascript,angular,angular7,Javascript,Angular,Angular7,我有一个文本框。在那里,用户可以输入带+号的国家代码 如果他只输入数字,我们不应该允许他。他必须输入带有+符号的国家代码,例如:+91、+230、。。。我正在互联网上搜索正则表达式。我找不到一个很好的解决办法 代码: ngOnInit() { this.registerFormGroup = this.formBuilder.group({ clientId: ['', Validators.compose([Validators.required, Validators.

我有一个文本框。在那里,用户可以输入带+号的国家代码

如果他只输入数字,我们不应该允许他。他必须输入带有+符号的国家代码,例如:+91、+230、。。。我正在互联网上搜索正则表达式。我找不到一个很好的解决办法

代码:

ngOnInit() {

    this.registerFormGroup = this.formBuilder.group({
      clientId: ['', Validators.compose([Validators.required, Validators.pattern('^[0-9]*$')])],
      mobileNumber: ['', Validators.compose([Validators.required, Validators.pattern('^[0-9]*$')])],
      email: ['', Validators.compose([Validators.required, Validators.email, Validators.maxLength(1000)]) ],
      countryCode: ['', Validators.compose([Validators.required, Validators.pattern('/^[- +()]*[0-9][- +()0-9]*$/')]), ],
    });

    }

尝试以
+
开头的正则表达式,并具有所需的位数

let regex=/^[+]\d{12}$/;//如果需要,请输入总数
让correct='+911234567890'
let不正确='911234567890'
控制台日志(正则表达式测试(正确))
console.log(regex.test(不正确))
您可以这样尝试

ngOnInit() {

const patternData = /^[+]\d{12}$/;

this.registerFormGroup = this.formBuilder.group({
      clientId: ['', Validators.compose([Validators.required, Validators.pattern('^[0-9]*$')])],
      mobileNumber: ['', Validators.compose([Validators.required, Validators.pattern('^[0-9]*$')])],
      email: ['', Validators.compose([Validators.required, Validators.email, Validators.maxLength(1000)]) ],
      countryCode: ['', Validators.compose([Validators.required, Validators.pattern(patternData)]), ],
    });
    }

countryCode:['',Validators.compose([Validators.required,Validators.pattern('/^[+]\d{12}$/')])),我在angular 7中尝试过这样的方法。它不起作用。你能帮帮我吗?@KumaresanPerumal在我这样输入的模式中,不要添加开头和结尾
/
。验证器不工作。模式(“^[+]\d{12}$”)@KumaresanPerumal我不明白为什么
\d
在这里不工作,我会看看。然后您可以尝试以下操作:
[Validators.required,Validators.pattern('^[+][0-9]{12}$')]
在这里查看:您好,它正在工作,但我不想输入12个数字。我想在+号后面输入一些数字。你能帮帮我吗。我们已接近解决此问题。您是否尝试过ngx掩码?你们试过检查html端的模式吗?如何在html中添加它。请告诉我me@KumaresanPerumal我只是更新我的答案,如果这不起作用,那么我们正在考虑检查html上的模式。你能试试这个
constPatternData=/^[+]\d{12}$/
@KumaresanPerumal让我知道它是否正常工作countrycode:['',Validators.compose([Validators.required,Validators.pattern('^[+]\d{12}$')),],输入带+符号的数值