繁体   English   中英

JavaScript 检查空格和无效字符

[英]JavaScript checking for whitespace and invalid characters

我正在尝试检查某个字符串是否仅包含 AZ、连字符、撇号和重音符号(例如变音符号等)。

我有以下内容,但它不起作用。

var lastNameValidation = /^[a-zA-ZàèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœ]$/;

var customerFullName = (inputData.customerName).replace(/\s/g, "");

if (!(customerFullName.matches(lastNameValidation))) {
    inputValidation += 'Invalid characters in first or last name. Only alphabetic letters, apostrophe, accents and hypen characters allowed<br/>';
}

我已经从 customerFullName 中删除了空格,它似乎工作正常(我使用了一个警告框来检查)

我已经尝试过 .matches 和 .test,但似乎都不适合我!

我究竟做错了什么?

将您的正则表达式更改为

 var lastNameValidation = /^[a-zA-ZàèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœ]+$/i

并使用 .match() 。 .matches() 不适用于字符串正则表达式匹配。

http://www.w3schools.com/jsref/jsref_match.asp

 var check = function() { var lastNameValidation = /^[a-zA-ZàèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœ]+$/i var custname = document.querySelector("#name").value; var customerFullName = custname.replace(/\\s/g, ""); if (!(customerFullName.match(lastNameValidation))) { alert('Invalid characters in first or last name. Only alphabetic letters, apostrophe, accents and hypen characters allowed<br/>'); } else { alert("perfect") } }
 <input id="name"> <input type="button" value="check" onclick="check()">

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM