[英]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.