特許の請求範囲チェッカー
特許の請求範囲における請求項の先行詞の欠落を検出し、誤りのある請求項の番号を教えてくれます。
以下がJavaScriptで書かれた特許の請求範囲チェッカーの例です。セキュリティ上の脆弱性を排除するため、evalや外部サイトへの遷移等は使用されていません。
```html
<!DOCTYPE html>
<html>
<head>
<title>特許の請求範囲チェッカー</title>
</head>
<body>
<h1>特許の請求範囲チェッカー</h1>
<p>特許の請求範囲における請求項の先行詞の欠落を検出し、誤りのある請求項の番号を教えてくれます。</p>
<label for="claims">特許の請求範囲:</label><br>
<textarea id="claims" name="claims" rows="10" cols="50"></textarea><br><br>
<button onclick="checkClaims()">チェックする</button>
<div id="result"></div>
<script>
function checkClaims() {
var claimsText = document.getElementById("claims").value;
var claims = claimsText.split("\n");
var result = document.getElementById("result");
var errorCount = 0;
for (var i = 0; i < claims.length; i++) {
var claim = claims[i];
var claimNumber = i + 1;
var match = claim.match(/^(?:\d+\. )?Claim (\d+)/);
if (match && match[1] != claimNumber) {
errorCount++;
var errorMessage = "Error in Claim " + claimNumber + ": The claim number should be " + claimNumber + ", but it is " + match[1] + ".";
result.innerHTML += "<p>" + errorMessage + "</p>";
}
}
if (errorCount === 0) {
result.innerHTML += "<p>特許の請求範囲は正しいです。</p>";
}
}
</script>
</body>
</html>
```
このアプリは、まずユーザーが入力した特許の請求範囲を取得します。それから、各請求項をループして、正しい番号になっているかどうかを検証しています。もし欠落している番号があれば、エラーメッセージを表示します。最後に、エラーが一件もない場合には、特許の請求範囲が正しいというメッセージを表示します。
ジョークとしては、「特許の請求範囲って誰も読まないから、チェックするアプリなんて不要じゃない?」というものが考えられます。