2016-10-10 41 views
-2

我需要一个正则表达式如果valueA包含任何字母将返回false。 我需要字母基本上我需要一个正则表达式,如果我的值包含任何字母将返回false

拒绝

实例

1)TEST1 =>拒绝 2)测试=>拒绝 3)123 =>接受

  this.validateLetters = (valueA): boolean => { 
       const regex = /^[a-zA-Z]+$/; 
       return regex.test(valueA); 
      }; 

我使用javascript

+0

你能描述一下你所说的 “信” 是什么意思?如果你正在处理unicode字符的领域,你可能会发现你遇到了基于JS的正则表达式的问题。 –

+0

你想要它_reject letters_或_accept numbers_? – vlaz

+0

接受号码和拒绝信件 – AngularM

回答

1

使用的正则表达式是/^[0-9]+$/

你应该*更换+如果一个空字符串是可以接受的

console.log(/^[0-9]+$/.test("10.22")); 
 
console.log(/^[0-9]+$/.test(10.22)); 
 
console.log(/^[0-9]+$/.test('')); 
 
console.log(/^[0-9]+$/.test('test1')); 
 
console.log(/^[0-9]+$/.test('test')); 
 
console.log(/^[0-9]+$/.test('123')); 
 
console.log(/^[0-9]+$/.test('{}')); 
 
console.log(/^[0-9]+$/.test('//')); 
 
console.log(/^[0-9]+$/.test('()'));

+0

我做到了这一点:console.log/^ [0-9] * $ /。测试(''));它说它包含字母 – AngularM

+0

我编辑了答案 – Weedoze

0

因此,据我了解,你只是想接受数字或?

const regex = /([0-9])/g; 
regex.test("123"); //true 
regex.test("123a"); //false 

什么你也可以做的是,除了每一个 “信”:

const regex = /([^A-Za-z])/g; 

不过要小心使用此!它还识别空格和其他符号。

或者你在谈论unicode字符?这可能是有点棘手的JavaScript。

+0

@bashOne我想检查是否只有来自字符串的任何字母 – AngularM

+0

@AngularM,所以你也想接受符号?所以只有字母是条件? – bash0ne

0

/[^a-zA-Z]/g

^除了运营商。 g全球运营商。

这个正则表达式不会匹配A-Z和a-z中的任何字母。

它会匹配数字和其他符号。

+0

'123!“£$%^&*()_ +?@:〜><¬[] {} \ |;'#'也是有效的,但OP只要求数字 – vlaz

+0

然后w// g' work?只匹配数字 –

+0

推测老实说,我真的很困惑OP想要什么 - 他说他想拒绝信件,但也说他想要数字(在这种情况下,拒绝信件是无关紧要的)。也没有真正指定是否有其他东西是有效的,但他也没有要求其他东西是有效的。 – vlaz

相关问题